Thorsten von Eicken

dblp:76/5208 · DBLP profile ↗
← Back
18ranked-venue papers
2as first author
0since 2021 · last 2002
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 12 · 1 first-authorSoftware engineering, systems software and programming languages · 7 · 2 first-authorComputer networks · 1Databases, data management, data science and information retrieval · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
10 papers
Parallel and multicore computing · 58% Interconnection networks and networks-on-chip · 18% High-performance computing · 14%
Software engineering, system software, and programming languages
8 papers
Operating systems · 46% Program verification · 21% Programming languages and type systems · 18%
Network and information security
4 papers
Systems and software security · 93% Authentication and access control · 7%
Databases, data mining, and information retrieval
1 paper
Database system architecture and tuning · 50% Query processing and optimization · 50%
Computer networks
1 paper
Internet architecture and protocols · 100%

Topics — the 30 heaviest of 46, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Parallel and multicore computing
parallel programming models
0.041997
Evaluating the Performance Limitations of MPMD Communication · SC 1997
Performance Implications of Communication Mechanisms in All-Software Global Address Space Systems · PPoPP 1997
Parallel programming in Split-C · SC 1993
Systems and software security
operating system security
0.012002
Luna: A Flexible Java Protection System · OSDI 2002
Operating systems › system security › operating system security
protection mechanism
0.012002
Luna: A Flexible Java Protection System · OSDI 2002
Parallel and multicore computing › parallel computing › parallel communication
communication mechanisms
0.021997
Performance Implications of Communication Mechanisms in All-Software Global Address Space Systems · PPoPP 1997
Active Messages: A Mechanism for Integrated Communication and Computation · ISCA 1992
Parallel and multicore computing › parallel programming runtimes
active messages
0.021996
Low-Latency Communication on the IBM RISC System/6000 SP · SC 1996
Active Messages: A Mechanism for Integrated Communication and Computation · ISCA 1992
High-performance computing
cluster computing
0.021997
ATM and Fast Ethernet Network Interfaces for User-Level Communication · HPCA 1997
U-Net: A User-Level Network Interface for Parallel and Distributed Computing · SOSP 1995
Database system architecture and tuning
extensibility
0.011998
Secure and Portable Database Extensibility · SIGMOD Conference 1998
Query processing and optimization
user-defined functions
0.011998
Secure and Portable Database Extensibility · SIGMOD Conference 1998
Internet architecture and protocols › protocol specification
formal description techniques
0.011998
Promela++: A Language for Constructing Correct and Efficient Protocols · INFOCOM 1998
Internet architecture and protocols
protocol design
0.011998
Promela++: A Language for Constructing Correct and Efficient Protocols · INFOCOM 1998
Systems and software security › language-based security
java security
0.011998
Secure and Portable Database Extensibility · SIGMOD Conference 1998
Systems and software security › operating system security
sandboxing
0.011998
Secure and Portable Database Extensibility · SIGMOD Conference 1998
Runtime systems and virtual machines › virtual machine implementation
java virtual machine
0.011998
JRes: A Resource Accounting Interface for Java · OOPSLA 1998
Programming languages and type systems
language-based security
0.011998
Implementing Multiple Protection Domains in Java · USENIX ATC 1998
Program verification
model checking
0.011998
Promela++: A Language for Constructing Correct and Efficient Protocols · INFOCOM 1998
Operating systems › system security › operating system security › protection mechanism
protection domains
0.011998
Implementing Multiple Protection Domains in Java · USENIX ATC 1998
Program verification
protocol verification
0.011998
Promela++: A Language for Constructing Correct and Efficient Protocols · INFOCOM 1998
Operating systems
resource management
0.011998
JRes: A Resource Accounting Interface for Java · OOPSLA 1998
Parallel and multicore computing › parallel programming models › distributed memory programming models
global address space
0.011997
Performance Implications of Communication Mechanisms in All-Software Global Address Space Systems · PPoPP 1997
Interconnection networks and networks-on-chip
network interface
0.011997
ATM and Fast Ethernet Network Interfaces for User-Level Communication · HPCA 1997
High-performance computing
performance optimization at scale
0.011997
Performance Implications of Communication Mechanisms in All-Software Global Address Space Systems · PPoPP 1997
Parallel and multicore computing › parallel computing › parallel communication
user-level communication
0.011997
ATM and Fast Ethernet Network Interfaces for User-Level Communication · HPCA 1997
Interconnection networks and networks-on-chip
interconnection networks
0.011996
Low-Latency Communication on the IBM RISC System/6000 SP · SC 1996
Interconnection networks and networks-on-chip
low-latency communication
0.011996
Low-Latency Communication on the IBM RISC System/6000 SP · SC 1996
Operating systems › network stack
network interface
0.011995
U-Net: A User-Level Network Interface for Parallel and Distributed Computing · SOSP 1995
Distributed systems › distributed system architecture
communication architecture
0.011995
U-Net: A User-Level Network Interface for Parallel and Distributed Computing · SOSP 1995
Parallel and multicore computing › parallel algorithms
parallel algorithm design
0.011993
LogP: Towards a Realistic Model of Parallel Computation · PPoPP 1993
Parallel and multicore computing
parallel computation models
0.011993
LogP: Towards a Realistic Model of Parallel Computation · PPoPP 1993
Parallel and multicore computing › parallel programming models
message passing
0.021997
Performance Implications of Communication Mechanisms in All-Software Global Address Space Systems · PPoPP 1997
Active Messages: A Mechanism for Integrated Communication and Computation · ISCA 1992
Parallel and multicore computing › parallelization strategies
fine-grained parallelism
0.011991
Fine-Grain Parallelism with Minimal Hardware Support: A Compiler-Controlled Threaded Abstract Machine · ASPLOS 1991

Methods — techniques the papers use, named apart from their topics

active messages · 0.1resource accounting interface · 0.0model checking · 0.0compiler optimization · 0.0ATM · 0.0simulation · 0.0u-net communication architecture · 0.0remote procedure call · 0.0performance analysis · 0.0benchmarking · 0.0message passing · 0.0abstract machine approach · 0.0TAM compilation · 0.0dataflow execution · 0.0compiler-controlled threading · 0.0
YearPublicationVenuePosition
2002 Luna: A Flexible Java Protection System
Chris Hawblitzel, Thorsten von Eicken
OSDI2
2000 Javia: A Java interface to the virtual interface architecture
abstract
The Virtual Interface (VI) architecture has become the industry standard for user-level network interfaces. This paper presents the implementation and evaluation of Javia, a Java interface to the VI architecture. Javia explores two points in the design space. The first approach manages buffers in C and requires data copies between the Java heap and native buffers. The second approach relies on a Java-level buffer abstraction that eliminates the copies in the first approach. Javia achieves an effective bandwidth of 80 Mbytes s−1 for 8 kbyte messages, which is within 1% of those achieved by C programs. Performance evaluations of parallel matrix multiplication and of the active messages communication protocol show that Javia can serve as an efficient building block for Java cluster applications. Copyright © 2000 John Wiley & Sons, Ltd.
Chi-Chao Chang, Thorsten von Eicken
Concurr. Pract. Exp.2
1999 MRPC: A High Performance RPC System for MPMD Parallel Computing
abstract
MRPC is an RPC system that is designed and optimized for MPMD parallel computing. Existing systems based on standard RPC incur an unnecessarily high cost when used on high-performance multi-computers, limiting the appeal of RPC-based languages in the parallel computing community. MRPC combines the efficient control and data transfer provided by Active Messages (AM) with a minimal multithreaded runtime system that extends AM with the features required to support MPMD. This approach introduces only the necessary RPC overheads for an MPMD environment. MRPC has been integrated into Compositional C++ (CC++), a parallel extension of C++ that offers an MPMD programming model. Basic performance in MRPC is within a factor of two from those of Split-C, a highly tuned SPMD language, and other messaging layers. CC++ applications perform within a factor of two to six from comparable Split-C versions, which represent an order of magnitude improvement over previous CC++ implementations. Copyright © 1999 John Wiley & Sons, Ltd.
Chi-Chao Chang, Grzegorz Czajkowski, Thorsten von Eicken
Softw. Pract. Exp.3
1998 Promela++: A Language for Constructing Correct and Efficient Protocols
abstract
The challenge is to develop an easily usable protocol development framework that combines the flexibility of layered implementations, the efficiency of tightly-coupled monolithic implementations and the correctness achievable using high-level protocol validation languages. This challenge is addressed by a language-based framework that introduces a new protocol specification language called Promela++. The framework consists of a protocol verification tool and an optimizing compiler that generates efficient protocol code from Promela++ specifications. Promela++ is based on the Promela protocol validation language and has been designed with a rich set of domain-specific constructs. These constructs facilitate the task of protocol specification as well as enable the Promela++ compiler to perform domain-specific optimizations. The Promela++ compiler can also automatically transform protocol specifications in Promela++ to protocol models in Promela. The article presents a new language that unites the twin goals of checking protocol correctness using model checkers, and efficient protocol construction using optimizing compilers, under a single framework; exploits language design to provide mechanisms that simultaneously ease programming and enable generation of efficient protocol code; and demonstrates the effectiveness of this approach by doing a complete evaluation of multiple protocol implementations in Promela++.
Anindya Basu, J. Gregory Morrisett, Thorsten von Eicken
INFOCOM3
1998 JRes: A Resource Accounting Interface for Java
abstract
With the spread of the Internet the computing model on server systems is undergoing several important changes. Recent research ideas concerning dynamic operating system extensibility are finding their way into the commercial domain, resulting in designs of extensible databases and Web servers. In addition, both ordinary users and service providers must deal with untrusted downloadable executable code of unknown origin and intentions.Across the board, Java has emerged as the language of choice for Internet-oriented software. We argue that, in order to realize its full potential in applications dealing with untrusted code, Java needs a flexible resource accounting interface. The design and prototype implementation of such an interface --- JRes --- is presented in this paper. The interface allows to account for heap memory, CPU time, and network resources consumed by individual threads or groups of threads. JRes allows limits to be set on resources available to threads and it can invoke callbacks when these limits are exceeded. The JRes prototype described in this paper is implemented on top of standard Java virtual machines and requires only a small amount of native code.
Grzegorz Czajkowski, Thorsten von Eicken
OOPSLA2
1998 Secure and Portable Database Extensibility
abstract
The functionality of extensible database servers can be augmented by user-defined functions (UDFs). However, the server's security and stability are concerns whenever new code is incorporated. Recently, there has been interest in the use of Java for database extensibility. This raises several questions: Does Java solve the security problems? How does it affect efficiency?
Michael W. Godfrey, Tobias Mayr 0001, Praveen Seshadri, Thorsten von Eicken
SIGMOD Conference4
1998 Implementing Multiple Protection Domains in Java
Chris Hawblitzel, Chi-Chao Chang, Grzegorz Czajkowski, Deyu Hu, Thorsten von Eicken
USENIX ATC5
1997 ATM and Fast Ethernet Network Interfaces for User-Level Communication
abstract
Fast Ethernet and ATM are two attractive network technologies for interconnecting workstation clusters for parallel and distributed computing. This paper compares network interfaces with and without programmable co-processors for the two types of networks using the U-Net communication architecture to provide low-latency and high-bandwidth communication. U-Net provides protected, user-level access to the network interface and offers application-level round-trip latencies as low as 60 /spl mu/sec over Fast Ethernet and 90 /spl mu/sec over ATM. The design of the network interface and the underlying network fabric have a large bearing on the U-Net design and performance. Network interfaces with programmable co-processors can transfer data directly to and from user space while others require aid from the operating system kernel. The paper provides detailed performance analysis of U-Net for Fast Ethernet and ATM, including application-level performance on a set of Split-C parallel benchmarks. These results show that high-performance computing is possible on a network of PCs connected via Fast Ethernet.
Matt Welsh, Anindya Basu, Thorsten von Eicken
HPCA3
1997 Performance Implications of Communication Mechanisms in All-Software Global Address Space Systems
abstract
Global addressing of shared data simplifies parallel programming and complements message passing models commonly found in distributed memory machines. A number of programming systems have been designed that synthesize global addressing purely in software on such machines. These systems provide a number of communication mechanisms to mitigate the effect of high communication latencies and overheads. This study compares the mechanisms in two representative all-software systems: CRL and Split-C. CRL uses region-based caching while Split-C uses split-phase and push-based data transfers for optimizing communication performance. Both systems take advantage of bulk data transfers. By implementing a set of parallel applications in both CRL and Split-C, and running them on the IBM SP2, Meiko CS-2 and two simulated architectures, we find that split-phase and push-based bulk data transfers are essential for good performance. Regionbased caching benefits applications with irregular structure and w...
Beng-Hong Lim, Chi-Chao Chang, Grzegorz Czajkowski, Thorsten von Eicken
PPoPP4
1997 Evaluating the Performance Limitations of MPMD Communication
abstract
The MPMD approach for parallel computing is attractive for programmers who seek fast development cycles, high code re-use, and modular programming, or whose applications exhibit irregular computation loads and communication patterns. RPC is widely adopted as the communication abstraction for crossing address space boundaries. However, the communication overheads of existing RPC-based systems are usually an order of magnitude higher than those found in highly tuned SPMD systems. This problem has thus far limited the appeal of high-level programming languages based on MPMD models in the parallel computing community.This paper investigates the fundamental limitations of MPMD communication using a case study of two parallel programming languages, Compositional C++ (CC++) and Split-C, that provide support for a global name space. To establish a common comparison basis, our implementation of CC++ was developed to use MRPC, a RPC system optimized for MPMD parallel computing and based on Active Messages. Basic RPC performance in CC++ is within a factor of two from those of Split-C and other messaging layers. CC++ applications perform within a factor of two to six from comparable Split-C versions, which represent an order of magnitude improvement over previous CC++ implementations. The results suggest that RPC-based communication can be used effectively in many high-performance MPMD parallel applications.
Chi-Chao Chang, Grzegorz Czajkowski, Thorsten von Eicken, Carl Kesselman
SC3
1996 Low-Latency Communication on the IBM RISC System/6000 SP
abstract
The IBM SP is one of the most powerful commercial MPPs, yet, in spite of its fast processors and high network bandwidth, the SP's communication latency is inferior to older machines such as the TMC CM-5 or Meiko CS-2. This paper investigates the use of Active Messages (AM) communication primitives as an alternative to the standard message passing in order to reduce communication overheads and to offer a good building block for higher layers of software. The first part of this paper describes an implementation of Active Messages (SP AM) which is layered directly on top of the SP's network adapter (TB2). With comparable bandwidth, SP AM's low overhead yields a round-trip latency that is 40% lower than IBM MPL's. The second part of the paper demonstrates the power of AM as a communication substrate by layering Split-C as well as MPI over it. Split-C benchmarks are used to compare the SP to other MPPs and show that low message overhead and high throughput compensate for SP's high network latency. The MPI implementation is based on the freely available MPICH version and achieves performance equivalent to IBM's MPI-F on the NAS benchmarks.
Chi-Chao Chang, Grzegorz Czajkowski, Chris Hawblitzel, Thorsten von Eicken
SC4
1995 U-Net: A User-Level Network Interface for Parallel and Distributed Computing
abstract
The U-Net communication architecture provides processes with a virtual view of a network interface to enable userlevel access to high-speed communication devices. The architecture, implemented on standard workstations using offthe-shelf ATM communication hardware, removes the kernel from the communication path, while still providing full protection. The model presented by U-Net allows for the construction of protocols at user level whose performance is only limited by the capabilities of network. The architecture is extremely flexible in the sense that traditional protocols like TCP and UDP, as well as novel abstractions like Active Messages can be implemented efficiently. A U-Net prototype on an 8node ATM cluster of standard workstations offers 65 microseconds round-trip latency and 15 Mbytes/sec bandwidth. It achieves TCP performance at maximum network bandwidth and demonstrates performance equivalent to Meiko CS-2 and TMC CM-5 supercomputers on a set of Split-C benchmarks.
Thorsten von Eicken, Anindya Basu, Vineet Buch, Werner Vogels
SOSP1
1993 Evaluation of Mechanisms for Fine-Grained Parallel Programs in the J-Machine and the CM-5
abstract
This paper uses an abstract machine approach to compare the mechanisms of two parallel machines: the J-Machine and the CM-5. High-level parallel programs are translated by a single optimizing compiler to a fine-grained abstract parallel machine, TAM. A final compilation step is unique to each machine and optimizes for specifics of the architecture. By determining the cost of the primitives and weighting them by their dynamic frequency in parallel programs, we quantify the effectiveness of the following mechanisms individually and in combination. Efficient processor/network coupling proves valuable. Message dispatch is found to be less valuable without atomic operations that allow the scheduling levels to cooperate. Multiple hardware contexts are of small value when the contexts cooperate and the compiler can partition the register set. Tagged memory provides little gain. Finally, the performance of the overall system is strongly influenced by the performance of the memory system and the frequency of control operations.
Ellen Spertus, Seth Copen Goldstein, Klaus E. Schauser, Thorsten von Eicken, David E. Culler, William J. Dally
ISCA4
1993 LogP: Towards a Realistic Model of Parallel Computation
abstract
A vast body of theoretical research has focused either on overly simplistic models of parallel computation, notably the PRAM, or overly specific models that have few representatives in the real world. Both kinds of models encourage exploitation of formal loopholes, rather than rewarding development of techniques that yield performance across a range of current and future parallel machines. This paper offers a new parallel machine model, called LogP, that reflects the critical technology trends underlying parallel computers. it is intended to serve as a basis for developing fast, portable parallel algorithms and to offer guidelines to machine designers. Such a model must strike a balance between detail and simplicity in order to reveal important bottlenecks without making analysis of interesting problems intractable. The model is based on four parameters that specify abstractly the computing bandwidth, the communication bandwidth, the communication delay, and the efficiency of coupling communication and computation. Portable parallel algorithms typically adapt to the machine configuration, in terms of these parameters. The utility of the model is demonstrated through examples that are implemented on the CM-5.
David E. Culler, Richard M. Karp, David A. Patterson 0001, Abhijit Sahay, Klaus E. Schauser, Eunice E. Santos, Ramesh Subramonian, Thorsten von Eicken
PPoPP8
1993 Parallel programming in Split-C
abstract
No abstract available.
David E. Culler, Andrea C. Arpaci-Dusseau, Seth Copen Goldstein, Arvind Krishnamurthy, Steven S. Lumetta, Thorsten von Eicken, Katherine A. Yelick
SC6
1992 Active Messages: A Mechanism for Integrated Communication and Computation
abstract
The design challenge for large-scale multiprocessors is (1) to minimize communication overhead, (2) allow communication to overlap computation, and (3) coordinate the two without sacrificing processor cost/performance. We show that existing message passing multiprocessors have unnecessarily high communication costs. Research prototypes of message driven machines demonstrate low communication overhead, but poor processor cost/performance. We introduce a simple communication mechanism, Active Messages, show that it is intrinsic to both architectures, allows cost effective use of the hardware, and offers tremendous flexibility. Implementations on nCUBE/2 and CM-5 are described and evaluated using a split-phase shared-memory extension to C, Split-C. We further show that active messages are sufficient to implement the dynamically scheduled languages for which message driven machines were designed. With this mechanism, latency tolerance becomes a programming/compiling concern. Hardware support for active messages is desirable and we outline a range of enhancements to mainstream processors.
Thorsten von Eicken, David E. Culler, Seth Copen Goldstein, Klaus E. Schauser
ISCA1
1991 Fine-Grain Parallelism with Minimal Hardware Support: A Compiler-Controlled Threaded Abstract Machine
abstract
article Free Access Share on Fine-grain parallelism with minimal hardware support: a compiler-controlled threaded abstract machine Authors: David E. Culler View Profile , Anurag Sah View Profile , Klaus E. Schauser View Profile , Thorsten von Eicken View Profile , John Wawrzynek View Profile Authors Info & Claims ACM SIGOPS Operating Systems ReviewVolume 25Issue Special IssueApr. 1991pp 164–175https://doi.org/10.1145/106974.106990Published:01 April 1991Publication History 229citation1,379DownloadsMetricsTotal Citations229Total Downloads1,379Last 12 Months108Last 6 weeks19 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF
David E. Culler, Anurag Sah, Klaus E. Schauser, Thorsten von Eicken, John Wawrzynek
ASPLOS4
1990 Analysis of Multithreaded Architectures for Parallel Computing
abstract
Multithreading has been proposed as an architectural strategy for tolerating latency in multiprocessors and, through limited empirical studies, shown to offer promise.This paper develops an analytical model of multithreaded processor behavior based on a small set of architectural and program parameters.The model gives rise to a large Markov chain, which is solved to obtain a formula for processor efficiency in terms of the number of threads per processor, the remote reference rate, the latency, and the cost of switching between threads.It is shown that a multithreaded processor exhibits three operating regimes: linear (efficiency is proportional to the number of threads), transition, and saturation (efficiency depends only on the remote reference rate and switch cost).Formulae for regime boundaries are derived.The model is embellished to reflect cache degradation due to multithreading, using an analytical model of cache behavior, demonstrating that retums diminish as the number threads becomes large.predictions from the embellished model correlate well with published empirical measurements.prescriptive use of the model under various scenarios indicates that multithreading is effective, but the Ilumber of useful threads per processor is fairly small.
Rafael H. Saavedra, David E. Culler, Thorsten von Eicken
SPAA3