This presentation was prepared by Janusz Niemiec and describes |
Overview of Multithreading |
Existing Experience with Multithreading on UNIX |
Experience with multithreading for parallel processing -- Nexus and Chant |
Design and Implementation of TCE (Thread-based Communication Environment) |
This was based on experience with MOVIE interpreted environment and use of TCE in this and other interpreted systems such as parallel HTTP servers and Java from Sun is explored |
001 Light Weight Threads General Overview TCE System and its Use in Interpreted Environments 002 Abstract of TCE Thread Presentation 003 General Concepts of Multithreading -- 1: What are threads and their benefits 004 General Concepts of Multithreading -- 2: Comparison of Threads and Processes 005 General Concepts of Multithreading -- 3: Efficiency of Threads vs. Processes 006 General Concepts of Multithreading -- 4: Application or Kernel Threads 007 General Concepts of Multithreading -- 5: Brief History and Motivation 008 Multithreading on Unix-compliant Operating Systems -- 1: Sun LWP 009 Multithreading on Unix-compliant Operating Systems -- 2: LWP Functions 010 Multithreading on Unix-compliant Operating Systems -- 3: DCE Threads 011 Multithreading on Unix-compliant Operating Systems -- 4: DCE Thread Functions 012 Multithreading on Unix-compliant Operating Systems -- 5: IRIX "Threads" 013 Multithreading on Unix-compliant Operating Systems --6:IRIX Thread Characteristics 014 Multithreading on Unix-compliant Operating Systems -- 7: Mach Threads 015 Multithreading on Unix-compliant Operating Systems -- 8: C-Threads 016 Multithreaded Environments for Parallel Processing -- Nexus 017 Multithreading Environments for Parallel Processing -- Chant - 1 018 Multithreading Environments for Parallel Processing -- Chant - 2 019 Thread-based Communication Environment (TCE) -- 1: Goals 020 Thread-based Communication Environment (TCE) -- 2: How Has it Been Achieved 021 Thread-based Communication Environment (TCE) -- 3: Why it is Great 022 TCE -- Implementation -- 1: What is a thread and how do you make it! 023 TCE -- Implementation -- 2: tce_thrd_init 024 TCE -- Implementation -- 3 025 TCE -- Implementation -- 4: Scheduling policy 026 TCE -- Implementation -- 5: Priority 027 TCE -- Implementation -- 6 : Preemptive and Non-Preemptive scheduling 028 TCE -- Implementation -- 7: Time Slice per Thread in Scheduling 029 TCE -- Implementation -- 8: Preemptive Scheduling 030 TCE -- Implementation -- 9: To Preempt Or Not To Preempt, ... 031 TCE -- Implementation -- 10: When is Preemptive Scheduling Used 032 TCE -- Implementation -- 11: Non-Blocking I/O operations 033 TCE -- Implementation -- 12: Thread Synchronization 034 TCE -- Implementation -- 12: Synchronization Example 035 TCE -- Implementation -- 13: Parent-Child Join Synchronization 036 TCE -- Implementation -- 14: Communication in TCE 037 TCE -- Implementation -- 15: Ports 038 TCE -- Implementation -- 16: Creating Ports 039 TCE -- Implementation -- 17: Ports contd 040 TCE -- Implementation -- 18: Channels 041 TCE -- Implementation -- 19:tce_chn_send 042 TCE -- Implementation -- 20: tce_chn_rcv/set 043 TCE -- Implementation -- 21: Channel Sets 044 TCE -- Implementation -- 22: Channel Set Functions 045 TCE -- Implementation -- 23: Example of Use of Channel Set Functions 046 TCE -- Implementation -- 24: Using Communication Objects 047 TCE -- Implementation -- 25: Communication Modes 048 TCE -- Implementation -- 26:Changing Channel Characteristics 049 TCE -- Implementation -- 27: tce_chnset_set 050 TCE -- Implementation -- 28: Communication between heterogenous machines 051 TCE -- Implementation -- 29: TCE as a Distributed Environment 052 TCE -- Implementation -- 30: TCE as a Parallel Environment 053 MOVIE -- 1:Introduction To Total System 054 MOVIE -- 2: MOVIE Threads 055 MOVIE -- 3: Communication of Code 056 MOVIE -- 4: Communication Model and Preemptive Structure 057 Multithreading for Interpreted Environments -- 1: Overview 058 Multithreading for Interpreted Environments -- 2: Comparison of Two Implementation Strategies 059 Multithreading for Interpreted Environments -- 3: Multithreading for HTTP Servers and Clients 060 Multithreading for Interpreted Environments -- 4: Preemptive WWW Server and Client Multithreading 061 Multithreading for Interpreted Environments -- 5: HotJava Browser