Topic: process threads

topics > computer science > Group: parallel processing

critical regions
operating system kernel
race conditions
real time systems
shared objects
task scheduling
Subtopic: threads up

Quote: a thread is the basic unit of CPU utilization. All threads within a task share access to all task resources
Quote: use threads for ten processors, slow devices, user-invoked actions, client requests to a server, deferred work [»birrAD_1991]
Quote: use threads instead of polling, waiting, and interrupts; each operation is a single, synchronous procedure [»mcjoPR1_1989]
Quote: a process is a locus of control, an abstract entity that moves through the instructions [»dennJB3_1966]

Subtopic: design for threading up

Quote: limit the number of currently runnable threads in an application; helps make it robust, responsive, and portable [»blocJ_2001]
Quote: distinguish immutable classes, thread-safe classes, conditionally thread-safe, thread-compatible, and thread-hostile classes [»blocJ_2001]

Subtopic: mutex up

Quote: a mutex or critical section is the simplest primitive for accessing shared variables; lock a mutex, use shared variables, unlock the mutex and release a blocked thread [»birrAD_1991]
Quote: while Thread is a monitor, allow access to stop, interrupt, etc by other threads; no concurrent, shared data access [»bacoDF10_2000]

Subtopic: interrupt up

Quote: with processor sharing, any statement can be interrupted for an unknown period [»wirtN8_1977]

Subtopic: examples up

Quote: Limbo includes multi-tasking with task initiation and coordination via the 'alt' statement [»dorwSM1_1997]
Quote: Topaz -- fine grained threads and multiple address spaces [»mcjoPR1_1989]

Subtopic: kill-safe up

Quote: implement kill-safe by suspending an instance instead of killing it; a surviving task can resurrect the instance
Quote: stop a thread by polling for a stop condition; killing a thread is inherently unsafe [»blocJ_2001]

Subtopic: thread pool up

Quote: use a work crew, i.e., a fixed pool of threads, to efficiently process many queued requests [»birrAD_1991]

Subtopic: thread termination up

Quote: thread termination is like indefinite suspension [»flatM6_2004]

Subtopic: thread-based memory allocation up

Quote: LKmalloc -- memory allocator for servers with a subheap per thread; scales well [»larsPA10_1998]

Subtopic: process vs. thread up

Quote: a Mach task is the environment for running threads; all threads share virtual memory, communication privileges, and access rights [»tevaA11_1989]
Quote: assign each process to a team with a shared address space and memory; communicate between teams with interprocess communication primitives [»cherDR2_1979]

Subtopic: threads vs. processors up

Quote: avoid having many more runnable threads than processors unless the threads are blocked on condition variables [»birrAD_1991]

Subtopic: system threads up

Quote: most system threads are too heavy-weight to support 10,000 threads in Java; implement virtual threads [»allmE7_2004]

Subtopic: problems with threads up

Quote: survey of fine-grain thread packages; good for medium-grain; none supported fine-grain with a general thread model [»pricGW11_2003]
Quote: threads are wildly nondeterministic; seriously flawed as a computation model [»leeEA5_2006]
Quote: threaded programs rely on programming style to constrain their nondeterminism
Quote: the observer pattern is difficult to get right; must analyze all possible interleavings [»leeEA5_2006]
Quote: multicore processors have much richer interleaving than single core processors; will lead to new system failures

Related Topics up

Topic: critical regions (58 items)
Topic: multi-tasking (22 items)
Topic: operating system kernel (67 items)
Topic: race conditions (33 items)
Topic: real time systems (14 items)
Topic: shared objects (13 items)
Topic: task scheduling
(49 items)

Updated barberCB 3/06
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.