An architecture of a dataflow single chip processor
ISCA '89 Proceedings of the 16th annual international symposium on Computer architecture
Parallel functional languages and compilers
Parallel functional languages and compilers
Using continuations to implement thread management and communication in operating systems
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
T: a multithreaded massively parallel architecture
ISCA '92 Proceedings of the 19th annual international symposium on Computer architecture
A new parallel graph reduction model and its machine architecture
Data flow computing
Performance studies of Id on the Monsoon dataflow system
Journal of Parallel and Distributed Computing - Special issue on dataflow and multithreaded architectures
A design study of the EARTH multiprocessor
PACT '95 Proceedings of the IFIP WG10.3 working conference on Parallel architectures and compilation techniques
Analysis of communications and overhead reduction in multithreaded execution
PACT '95 Proceedings of the IFIP WG10.3 working conference on Parallel architectures and compilation techniques
Eliminating receive livelock in an interrupt-driven kernel
ACM Transactions on Computer Systems (TOCS)
Converting thread-level parallelism to instruction-level parallelism via simultaneous multithreading
ACM Transactions on Computer Systems (TOCS)
Advances in the dataflow computational model
Parallel Computing - Special Anniversary issue
SEDA: an architecture for well-conditioned, scalable internet services
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
A survey of processors with explicit multithreading
ACM Computing Surveys (CSUR)
Using Cohort-Scheduling to Enhance Server Performance
ATEC '02 Proceedings of the General Track of the annual conference on USENIX Annual Technical Conference
Fine-grain multi-thread processor architecture for massively parallel processing
HPCA '95 Proceedings of the 1st IEEE Symposium on High-Performance Computer Architecture
Exploiting ILP, TLP, and DLP with the polymorphous TRIPS architecture
Proceedings of the 30th annual international symposium on Computer architecture
Compiling C for the EARTH Multithreaded Architecture
PACT '96 Proceedings of the 1996 Conference on Parallel Architectures and Compilation Techniques
Capriccio: scalable threads for internet services
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
Proceedings of the 36th annual IEEE/ACM International Symposium on Microarchitecture
Design and implementation of the POWER5™ microprocessor
Proceedings of the 41st annual Design Automation Conference
Fuce: the continuation-based multithreading processor
Proceedings of the 4th international conference on Computing frontiers
Fuce: the continuation-based multithreading processor
Proceedings of the 4th international conference on Computing frontiers
Hi-index | 0.00 |
Multi-tasking operating systems not only handle concurrent tasksbut also have concurrency and parallelism of various granularities in themselves. We claim that operating systems need to be developed based on a computation model that can deal with concurrency and parallelism of various granularities. In order to investigate this claim, we have been developing an operating system called CEFOS based on a dataflow-based computation model. A program for CEFOS consists of zero-waitthreads, each of which runs to completion without suspension once started. Synchronization between zero-wait threads is performed in a dataflow manner according to their continuation relations. Handler routines for I/O devices are also realized with zero-wait threads and executed under the continuation-based multithreading mechanism. We can eliminate "interrupts" that interfere with the execution ofinstruction streams in typical conventional approaches, and we can naturally handle concurrency and exploit parallelism in programs even for I/O-centric computation. In this paper, after introducing our model and our operating system based on the model, we discuss implementation issues on Fuce, which is a continuation-based multithreading processor dedicated to fine-grained multithreading. Then we evaluate the scalability of our system with the number of execution units and I/O devices.