Find this at http://www.npac.syr.edu/users/gcf/cps616threads/

Basic Threads Discussion including Niemiec's TCE in detail

Given by Janusz Niemiec and Geoffrey Fox at CPS600 Spring Semester95 on April 1995. Foils prepared July 6,1995

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


This mixed presentation uses parts of the following base foilsets which can also be looked at on their own!
CPS616Threads       Basic Threads Discussion including Niemiec's TCE 
                     in detail
NPACAddons          Collection of GIF Images for General NPAC Projects
                      1995-March96

Table of Contents for Basic Threads Discussion including Niemiec's TCE in detail


       CPS616Threads 001 001 Light Weight Threads 
                             General Overview
                             TCE System and its Use in
                             Interpreted Environments
       CPS616Threads 002 002 Abstract of TCE Thread Presentation
       CPS616Threads 003 003 General Concepts of Multithreading -- 1: 
                             What are threads and their benefits
       CPS616Threads 004 004 General Concepts of Multithreading -- 2: 
                             Comparison of Threads and Processes
       CPS616Threads 005 005 General Concepts of Multithreading -- 3: 
                             Efficiency of Threads vs. Processes
       CPS616Threads 006 006 General Concepts of Multithreading -- 4: 
                             Application or Kernel Threads
       CPS616Threads 007 007 General Concepts of Multithreading -- 5: 
                             Brief History and Motivation
       CPS616Threads 008 008 Multithreading on Unix-compliant 
                             Operating Systems  -- 1: Sun LWP
       CPS616Threads 009 009 Multithreading on Unix-compliant 
                             Operating Systems  -- 2: LWP Functions
       CPS616Threads 010 010 Multithreading on Unix-compliant 
                             Operating Systems  -- 3: DCE Threads
       CPS616Threads 011 011 Multithreading on Unix-compliant 
                             Operating Systems  -- 4: DCE Thread 
                             Functions
       CPS616Threads 012 012 Multithreading on Unix-compliant 
                             Operating Systems  -- 5: IRIX 
                             "Threads"
       CPS616Threads 013 013 Multithreading on Unix-compliant 
                             Operating Systems  --6:IRIX Thread 
                             Characteristics
       CPS616Threads 014 014 Multithreading on Unix-compliant 
                             Operating Systems  -- 7: Mach Threads
       CPS616Threads 015 015 Multithreading on Unix-compliant 
                             Operating Systems  -- 8: C-Threads
       CPS616Threads 016 016 Multithreaded Environments for Parallel 
                             Processing -- Nexus
       CPS616Threads 017 017 Multithreading Environments for Parallel 
                             Processing  -- Chant - 1
       CPS616Threads 018 018 Multithreading Environments for Parallel 
                             Processing  -- Chant - 2
       CPS616Threads 019 019 Thread-based Communication Environment 
                             (TCE) -- 1: Goals
       CPS616Threads 020 020 Thread-based Communication Environment 
                             (TCE) -- 2: How Has it Been Achieved
       CPS616Threads 021 021 Thread-based Communication Environment 
                             (TCE) -- 3: Why it is Great
       CPS616Threads 022 022 TCE -- Implementation -- 1: What is a 
                             thread and how do you make it!
       CPS616Threads 023 023 TCE -- Implementation -- 2: tce_thrd_init
       CPS616Threads 024 024 TCE -- Implementation -- 3
       CPS616Threads 025 025 TCE -- Implementation -- 4: 
                             Scheduling policy
       CPS616Threads 026 026 TCE -- Implementation -- 5: Priority
       CPS616Threads 027 027 TCE -- Implementation -- 6 :
                             Preemptive and Non-Preemptive scheduling
       CPS616Threads 028 028 TCE -- Implementation -- 7: Time Slice 
                             per Thread in Scheduling
       CPS616Threads 029 029 TCE -- Implementation -- 8: Preemptive 
                             Scheduling
       CPS616Threads 030 030 TCE -- Implementation -- 9:
                             To Preempt Or Not To Preempt, ...
       CPS616Threads 031 031 TCE -- Implementation -- 10:
                             When is Preemptive Scheduling Used
       CPS616Threads 032 032 TCE -- Implementation -- 11: Non-Blocking
                              I/O operations
       CPS616Threads 033 033 TCE -- Implementation -- 12: Thread 
                             Synchronization
       CPS616Threads 034 034 TCE -- Implementation -- 12: 
                             Synchronization Example
       CPS616Threads 035 035 TCE -- Implementation -- 13: Parent-Child
                              Join Synchronization
       CPS616Threads 036 036 TCE -- Implementation -- 14: 
                             Communication in TCE
       CPS616Threads 037 037 TCE -- Implementation -- 15: Ports
          NPACAddons 042 038 TCE PORT Types
       CPS616Threads 038 039 TCE -- Implementation -- 16: Creating 
                             Ports
          NPACAddons 044 040 Creating Regular SENDING PORTS a)through 
                             the parent-child relation
       CPS616Threads 039 041 TCE -- Implementation -- 17: Ports contd
          NPACAddons 045 042 Creating Regular SENDING PORTS b)By 
                             passing port in a message
       CPS616Threads 040 043 TCE -- Implementation -- 18: Channels
          NPACAddons 043 044 TCE CHANNEL Types
          NPACAddons 046 045 Creating CHANNELS a)By pairing 
                             appropriate ports
       CPS616Threads 041 046 TCE -- Implementation -- 19:tce_chn_send
          NPACAddons 047 047 Creating CHANNELS b)By sending a Channel 
                             in a message
       CPS616Threads 042 048 TCE -- Implementation -- 20: 
                             tce_chn_rcv/set
       CPS616Threads 043 049 TCE -- Implementation -- 21: Channel Sets
       CPS616Threads 044 050 TCE -- Implementation -- 22:
                             Channel Set Functions
       CPS616Threads 045 051 TCE -- Implementation -- 23: Example of 
                             Use of Channel Set Functions
       CPS616Threads 046 052 TCE -- Implementation -- 24: Using 
                             Communication Objects
       CPS616Threads 047 053 TCE -- Implementation -- 25: 
                             Communication Modes
       CPS616Threads 048 054 TCE -- Implementation -- 26:Changing 
                             Channel Characteristics
       CPS616Threads 049 055 TCE -- Implementation -- 27: 
                             tce_chnset_set
       CPS616Threads 050 056 TCE -- Implementation -- 28: 
                             Communication between heterogenous 
                             machines
       CPS616Threads 051 057 TCE -- Implementation -- 29: TCE as a 
                             Distributed Environment
       CPS616Threads 052 058 TCE -- Implementation -- 30: TCE as a 
                             Parallel Environment 
       CPS616Threads 053 059 MOVIE -- 1:Introduction To Total System
       CPS616Threads 054 060 MOVIE -- 2: MOVIE Threads
       CPS616Threads 055 061 MOVIE -- 3: Communication of Code
       CPS616Threads 056 062 MOVIE -- 4: Communication Model and 
                             Preemptive Structure
       CPS616Threads 057 063 Multithreading for Interpreted 
                             Environments -- 1: Overview 
       CPS616Threads 058 064 Multithreading for Interpreted 
                             Environments -- 2: Comparison of Two 
                             Implementation Strategies
       CPS616Threads 059 065 Multithreading for Interpreted 
                             Environments -- 3: Multithreading for 
                             HTTP Servers and Clients
       CPS616Threads 060 066 Multithreading for Interpreted 
                             Environments -- 4: Preemptive WWW Server 
                             and Client Multithreading
       CPS616Threads 061 067 Multithreading for Interpreted 
                             Environments -- 5: HotJava Browser
          NPACAddons 048 068 Comparison of HotJava and Mosaic/Netscape

List of Foils Used as they occur

CPS616Threads       Basic Threads Discussion including Niemiec's TCE 
                     in detail
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
NPACAddons          Collection of GIF Images for General NPAC Projects
                      1995-March96
42 44 45 43 46 47 48

Sorted List of Foils Used

CPS616Threads       Basic Threads Discussion including Niemiec's TCE 
                     in detail
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
NPACAddons          Collection of GIF Images for General NPAC Projects
                      1995-March96
42 43 44 45 46 47 48


Northeast Parallel Architectures Center, Syracuse University, npac@npac.syr.edu

If you have any comments about this server, send e-mail to webmaster@npac.syr.edu.

Page produced by wwwfoil on Tue Feb 18 1997