VLDB 2026 Research / reviewers in the wild / expert
David P. Anderson
dblp:00/4091
· DBLP profile ↗
43ranked-venue papers
21as first author
0since 2021 · last 2020
0000-0003-3155-7883ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 25 · 13 first-authorSoftware engineering, systems software and programming languages · 8 · 2 first-authorComputer networks · 4 · 3 first-authorApplied, interdisciplinary, general and emerging computing · 4 · 1 first-authorGraphics, computer vision, multimedia, augmented reality and games · 2 · 2 first-authorArtificial intelligence and machine learning · 1Security and privacy · 1 · 1 first-author
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
9 papers |
Performance modeling and evaluation · 46% Distributed systems · 30% Cloud and datacenter computing · 8% | |
| Computer networks
3 papers |
Network measurement and analytics · 82% Internet architecture and protocols · 16% Transport protocols and congestion control · 2% |
Topics — the 26 heaviest of 30, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Distributed systems › grid computing
volunteer computing |
0.2 | 2 | 2012 | A Correlated Resource Model of Internet End Hosts · IEEE Trans. Parallel Distributed Syst. 2012 Grid resource management - Designing a runtime system for volunteer computing · SC 2006 |
Performance modeling and evaluation
workload characterization |
0.1 | 1 | 2012 | A Correlated Resource Model of Internet End Hosts · IEEE Trans. Parallel Distributed Syst. 2012 |
Performance modeling and evaluation › dependability modeling
availability modeling |
0.1 | 1 | 2011 | Discovering Statistical Models of Availability in Large Distributed Systems: An Empirical Study of SETI@home · IEEE Trans. Parallel Distributed Syst. 2011 |
Cloud and datacenter computing
cluster resource management and scheduling |
0.1 | 1 | 2006 | Grid resource management - Designing a runtime system for volunteer computing · SC 2006 |
Parallel and multicore computing
parallel programming runtimes |
0.1 | 1 | 2006 | Grid resource management - Designing a runtime system for volunteer computing · SC 2006 |
Network measurement and analytics
trace analysis |
0.0 | 1 | 2012 | A Correlated Resource Model of Internet End Hosts · IEEE Trans. Parallel Distributed Syst. 2012 |
Storage systems › i/o scheduling
disk scheduling |
0.0 | 2 | 1997 | Device Reservation in Audio/Video Editing Systems · ACM Trans. Comput. Syst. 1997 A File System for Continuous Media · ACM Trans. Comput. Syst. 1992 |
Embedded and real-time systems
real-time scheduling |
0.0 | 3 | 1993 | Metascheduling for Continuous Media · ACM Trans. Comput. Syst. 1993 A System for Computer Music Performance · ACM Trans. Comput. Syst. 1990 Scheduling and IPC Mechanisms for Continuous Media · SOSP 1991 |
Distributed systems › fault tolerance
checkpointing |
0.0 | 1 | 2006 | Grid resource management - Designing a runtime system for volunteer computing · SC 2006 |
Distributed systems
fault tolerance |
0.0 | 1 | 2006 | Grid resource management - Designing a runtime system for volunteer computing · SC 2006 |
Distributed systems › distributed scheduling
meta-scheduling |
0.0 | 1 | 1993 | Metascheduling for Continuous Media · ACM Trans. Comput. Syst. 1993 |
Cloud and datacenter computing
quality of service |
0.0 | 1 | 1993 | Metascheduling for Continuous Media · ACM Trans. Comput. Syst. 1993 |
Embedded and real-time systems › real-time scheduling
resource reservation |
0.0 | 1 | 1993 | Metascheduling for Continuous Media · ACM Trans. Comput. Syst. 1993 |
Embedded and real-time systems › real-time scheduling
admission control |
0.0 | 1 | 1992 | A File System for Continuous Media · ACM Trans. Comput. Syst. 1992 |
Embedded and real-time systems › data management for real-time systems
real-time storage |
0.0 | 1 | 1992 | A File System for Continuous Media · ACM Trans. Comput. Syst. 1992 |
Operating systems › resource management › process management
CPU scheduling |
0.0 | 1 | 1991 | Scheduling and IPC Mechanisms for Continuous Media · SOSP 1991 |
Operating systems
interprocess communication |
0.0 | 1 | 1991 | Scheduling and IPC Mechanisms for Continuous Media · SOSP 1991 |
Internet architecture and protocols
protocol implementation |
0.0 | 1 | 1988 | Automated Protocol Implementation with RTAG · IEEE Trans. Software Eng. 1988 |
Compilers and program optimization
code generation |
0.0 | 1 | 1988 | Automated Protocol Implementation with RTAG · IEEE Trans. Software Eng. 1988 |
Compilers and program optimization › domain-specific compilation
protocol compilation |
0.0 | 1 | 1988 | Automated Protocol Implementation with RTAG · IEEE Trans. Software Eng. 1988 |
Internet architecture and protocols
protocol specification |
0.0 | 1 | 1985 | A grammar-based methodology for protocol specification and implementation · SIGCOMM 1985 |
Multimedia systems and quality of experience
continuous media |
0.0 | 1 | 1992 | A File System for Continuous Media · ACM Trans. Comput. Syst. 1992 |
Audio and music processing › music technology
computer music |
0.0 | 1 | 1990 | A System for Computer Music Performance · ACM Trans. Comput. Syst. 1990 |
Programming languages and type systems › grammar formalisms
attribute grammars |
0.0 | 1 | 1988 | Automated Protocol Implementation with RTAG · IEEE Trans. Software Eng. 1988 |
Distributed systems
distributed system security |
0.0 | 1 | 1987 | A Basis for Secure Communication in Large Distributed Systems · S&P 1987 |
Transport protocols and congestion control
transport protocols |
0.0 | 1 | 1985 | A grammar-based methodology for protocol specification and implementation · SIGCOMM 1985 |
Methods — techniques the papers use, named apart from their topics
statistical analysis · 0.3lognormal distribution · 0.1log-normal distribution · 0.1statistical modeling · 0.1empirical measurement · 0.1BOINC middleware · 0.1simulation · 0.1analytical modeling · 0.0split-level CPU scheduling · 0.0lightweight processes · 0.0real-time asynchronous grammars · 0.0economic resource allocation · 0.0attribute grammar · 0.0virtual time systems · 0.0process grouping · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | BOINC: A Platform for Volunteer ComputingabstractAbstract “Volunteer computing” is the use of consumer digital devices for high-throughput scientific computing. It can provide large computing capacity at low cost, but presents challenges due to device heterogeneity, unreliability, and churn. BOINC, a widely-used open-source middleware system for volunteer computing, addresses these challenges. We describe BOINC’s features, architecture, implementation, and algorithms. David P. Anderson |
J. Grid Comput. | 1 |
| 2013 | Modeling and analysis of resources availability in volunteer computing systemsabstractVolunteer computing systems are large-scale distributed systems with large number of heterogeneous and unreliable Internet-connected hosts. Volunteer computing resources are suitable mainly to run High-Throughput Computing (HTC) applications due to their unavailability rate and frequent churn. Although they provide Peta-scale computing power for many scientific projects across the globe, efficient usage of this platform for different types of applications still has not been investigated in depth. So, characterizing, analyzing and modeling such resources availability in volunteer computing is becoming essential and important for efficient application scheduling. In this paper, we focus on statistical modeling of volunteer resources, which exhibit non-random pattern in their availability time. The proposed models take into account the autocorrelation structure in subset of hosts whose availability has short/long-range dependence. We apply our methodology on real traces from the SETI@home project with more than 230,000 hosts. We show that Markovian arrival process can model the availability and unavailability intervals of volunteer resources with a reasonable to excellent level of accuracy. Bahman Javadi, Kenan M. Matawie, David P. Anderson |
IPCCC | 3 |
| 2012 | A Correlated Resource Model of Internet End HostsabstractUnderstanding and modeling resources of Internet end hosts are essential for the design of desktop software and Internet-distributed applications. In this paper, we develop a correlated resource model of Internet end hosts based on real-trace data taken from several volunteer computing projects, including SETI@home. This data cover a five-year period with statistics for 6.7 million hosts. Our resource model is based on statistical analysis of host computational power, memory, and storage as well as how these resources change over time and the correlations among them. We find that resources with few discrete values (core count, memory) are well modeled by approximations governing the change of relative resource quantities over time. Resources with a continuous range of values are well modeled by correlated log-normal distributions (cache, processor speed, and available disk space). We validate and show the utility of the model by applying it to a resource allocation problem for Internet-distributed applications, and compare it to other models. We also make our trace data and tool for automatically generating realistic Internet end hosts publicly available. Eric M. Heien, Derrick Kondo, David P. Anderson |
IEEE Trans. Parallel Distributed Syst. | 3 |
| 2011 | Towards Real-Time, Volunteer Distributed ComputingabstractMany large-scale distributed computing applications demand real-time responses by soft deadlines. To enable such real-time task distribution and execution on the volunteer resources, we previously proposed the design of the real-time volunteer computing platform called RT-BOINC. The system gives low O(1) worst-case execution time for task management operations, such as task scheduling, state transitioning, and validation. In this work, we present a full implementation RT-BOINC, adding new features including deadline timer and parameter-based admission control. We evaluate RT-BOINC at large scale using two real-time applications, namely, the games Go and Chess. The results of our case study show that RT-BOINC provides much better performance than the original BOINC in terms of average and worst-case response time, scalability and efficiency. Sangho Yi, Emmanuel Jeannot, Derrick Kondo, David P. Anderson |
CCGRID | 4 |
| 2011 | Correlated Resource Models of Internet End HostsabstractUnderstanding and modelling resources of Internet end hosts is essential for the design of desktop software and Internet-distributed applications. In this paper we develop a correlated resource model of Internet end hosts based on real trace data taken from the SETI@home project. This data covers a 5-year period with statistics for 2.7 million hosts. The resource model is based on statistical analysis of host computational power, memory, and storage as well as how these resources change over time and the correlations between them. We find that resources with few discrete values (core count, memory) are well modeled by exponential laws governing the change of relative resource quantities over time. Resources with a continuous range of values are well modeled with either correlated normal distributions (processor speed for integer operations and floating point operations) or log-normal distributions (available disk space). We validate and show the utility of the models by applying them to a resource allocation problem for Internet-distributed applications, and demonstrate their value over other models. We also make our trace data and tool for automatically generating realistic Internet end hosts publicly available. Eric M. Heien, Derrick Kondo, David P. Anderson |
ICDCS | 3 |
| 2011 | Discovering Statistical Models of Availability in Large Distributed Systems: An Empirical Study of SETI@homeabstractInternational audience Bahman Javadi, Derrick Kondo, Jean-Marc Vincent, David P. Anderson |
IEEE Trans. Parallel Distributed Syst. | 4 |
| 2010 | An analysis of massively distributed evolutionary algorithmsabstractComputational science is placing new demands on optimization algorithms as the size of data sets and the computational complexity of scientific models continue to increase. As these complex models have many local minima, evolutionary algorithms (EAs) are very useful for quickly finding optimal solutions in these challenging search spaces. In addition to the complex search spaces involved, calculating the objective function can be extremely demanding computationally. Because of this, distributed computation is a necessity. In order to address these computational demands, top-end distributed computing systems are surpassing hundreds of thousands of computing hosts; and as in the case of Internet based volunteer computing systems, they can also be highly heterogeneous and faulty. This work examines asynchronous strategies for distributed EAs using simulated computing environments. Results show that asynchronous EAs can scale to hundreds of thousands of computing hosts while being highly resilient to heterogeneous and faulty computing environments, something not possible for traditional distributed EAs which require synchronization. While the simulation not only provides insight as to how asynchronous EAs perform on distributed computing environments with different latencies and heterogeneity, it also serves as a sanity check because live distributed systems require problems with high computation to communication ratios and traditional benchmark problems cannot be used for meaningful analysis due to their short computation times. Travis J. Desell, David P. Anderson, Malik Magdon-Ismail, Heidi Jo Newberg, Boleslaw K. Szymanski, Carlos A. Varela |
IEEE Congress on Evolutionary Computation | 2 |
| 2010 | Validating Evolutionary Algorithms on Volunteer Computing Grids
Travis J. Desell, Malik Magdon-Ismail, Boleslaw K. Szymanski, Carlos A. Varela, Heidi Jo Newberg, David P. Anderson |
DAIS | 6 |
| 2010 | Toward Real-Time, Many-Task Applications on Large Distributed Systems
Sangho Yi, Derrick Kondo, David P. Anderson |
Euro-Par (1) | 3 |
| 2010 | Exploiting non-dedicated resources for cloud computingabstractPopular web services and applications such as Google Apps, DropBox, and Go.Pc introduce a wasteful imbalance of processing resources. Each host operated by a provider serves hundreds to thousands of users, treating their PCs as thin clients. Tapping the processing, storage and networking capacities of these non-dedicated resources promises to reduce the size of required hardware basis significantly. Consequently, it presents a noteworthy opportunity for service providers and operators of cloud computing infrastructures. We investigate how a mixture of dedicated (and so highly available) hosts and non-dedicated (and so highly volatile) hosts can be used to provision a processing tier of a large-scale web service. We discuss an operational model which guarantees long-term availability despite of host churn, and study multiple aspects necessary to implement it. These include: ranking of non-dedicated hosts according to their long-term availability behavior, short-term availability modeling of these hosts, and simulation of migration and group availability levels using real-world availability data from 10,000 non-dedicated hosts. We also study the tradeoff between a larger share of dedicated hosts vs. higher migration rate in terms of costs and SLA objectives. This yields an optimization approach where a service provider can find a suitable balance between costs and service quality. The experimental results show that it is possible to achieve a wide spectrum of such modes, ranging from 3.6 USD/hour to 5 USD/hour for a group of at least 50 hosts available with probability greater than 0.90. Artur Andrzejak 0001, Derrick Kondo, David P. Anderson |
NOMS | 3 |
| 2009 | EmBOINC: An emulator for performance analysis of BOINC projectsabstractBOINC is a platform for volunteer computing. The server component of BOINC embodies a number of scheduling policies and parameters that have a large impact on the projects throughput and other performance metrics. We have developed a system, EmBOINC, for studying these policies and parameters. EmBOINC uses a hybrid approach: it simulates a population of volunteered clients (including heterogeneity, churn, availability, reliability) and it emulates the server component; that is, it uses the actual server software and its associated database. This paper describes the design of EmBOINC and validates its results based on trace data from an existing BOINC project. Trilce Estrada, Michela Taufer, Kevin Reed, David P. Anderson |
IPDPS | 4 |
| 2009 | Cost-benefit analysis of Cloud Computing versus desktop gridsabstractCloud Computing has taken commercial computing by storm. However, adoption of cloud computing platforms and services by the scientific community is in its infancy as the performance and monetary cost-benefits for scientific applications are not perfectly clear. This is especially true for desktop grids (aka volunteer computing) applications. We compare and contrast the performance and monetary cost-benefits of clouds for desktop grid applications, ranging in computational size and storage. We address the following questions: (i) What are the performance tradeoffs in using one platform over the other? (ii) What are the specific resource requirements and monetary costs of creating and deploying applications on each platform? (iii) In light of those monetary and performance cost-benefits, how do these platforms compare? (iv) Can cloud computing platforms be used in combination with desktop grids to improve cost-effectiveness even further? We examine those questions using performance measurements and monetary expenses of real desktop grids and the Amazon elastic compute cloud. Derrick Kondo, Bahman Javadi, Paul Malecot, Franck Cappello, David P. Anderson |
IPDPS | 5 |
| 2009 | Mining for statistical models of availability in large-scale distributed systems: An empirical study of SETI@homeabstractIn the age of cloud, Grid, P2P, and volunteer distributed computing, large-scale systems with tens of thousands of unreliable hosts are increasingly common. Invariably, these systems are composed of heterogeneous hosts whose individual availability often exhibit different statistical properties (for example stationary versus non-stationary behavior) and fit different models (for example Exponential, Weibull, or Pareto probability distributions). In this paper, we describe an effective method for discovering subsets of hosts whose availability have similar statistical properties and can be modelled with similar probability distributions. We apply this method with about 230,000 host availability traces obtained from a real large-scale Internet-distributed system, namely SETI@home. We find that about 34% of hosts exhibit availability that is a truly random process, and that these hosts can often be modelled accurately with a few distinct distributions from different families. We believe that this characterization is fundamental in the design of stochastic scheduling algorithms across large-scale systems where host availability is uncertain. Bahman Javadi, Derrick Kondo, Jean-Marc Vincent, David P. Anderson |
MASCOTS | 4 |
| 2009 | Performance Prediction and Analysis of BOINC Projects: An Empirical Study with EmBOINCabstractMiddleware systems for volunteer computing convert a set of computers that is large and diverse (in terms of hardware, software, availability, reliability, and trustworthiness) into a unified computing resource. This involves a number of scheduling policies and parameters, which have a large impact on the throughput and other performance metrics. How can we study and refine these policies? Experimentation in the context of a working project is problematic, and it is difficult to accurately model complex middleware in a conventional simulator. Instead, we use an approach in which the policies being studied are “emulated”, using parts of the actual middleware. In this paper we describe EmBOINC, an emulator based on the BOINC middleware system. EmBOINC simulates a population of volunteered clients (including heterogeneity, churn, availability, and reliability) and emulates the BOINC server components. After describing the design of EmBOINC and its validation, we present three case studies in which the impact of different scheduling policies are quantified in terms of throughput, latency, and starvation metrics. Trilce Estrada, Michela Taufer, David P. Anderson |
J. Grid Comput. | 3 |
| 2009 | Computing Low Latency Batches with Unreliable Workers in Volunteer Computing EnvironmentsabstractInternet based volunteer computing projects such as SETI@home are currently restricted to performing coarse grained, embarrassingly parallel master-worker style tasks. This is partly due to the “pull” nature of task distribution in volunteer computing environments, where workers request tasks from the master rather than the master assigning tasks to arbitrary workers. In this paper we propose algorithms for computing batches of medium grained tasks with deadlines in pull-style volunteer computing environments. We develop models of unreliable workers based on analysis of trace data from an actual volunteer computing project. These models are used to develop algorithms for task distribution in volunteer computing systems with a high probability of meeting batch deadlines. We develop algorithms for perfectly reliable workers, computation-reliable workers and unreliable workers. Finally, we demonstrate the effectiveness of the algorithms through simulations using traces from actual volunteer computing environments. Eric M. Heien, David P. Anderson, Kenichi Hagihara |
J. Grid Comput. | 2 |
| 2007 | Performance Evaluation of Scheduling Policies for Volunteer ComputingabstractBOINC, a middleware system for volunteer computing, allows hosts to be attached to multiple projects. Each host periodically requests jobs from project servers and executes the jobs. This process involves three interrelated policies: 1) of the runnable jobs on a host, which to execute? 2) when and from what project should a host request more work? 3) what jobs should a server send in response to a given request? 4) How to estimate the remaining runtime of a job? In this paper, we consider several alternatives for each of these policies. Using simulation, we study various combinations of policies, comparing them on the basis of several performance metrics and over a range of parameters such as job length variability, deadline slack, and number of attached projects. Derrick Kondo, David P. Anderson, John McLeod |
eScience | 2 |
| 2007 | Local Scheduling for Volunteer ComputingabstractBOINC, a middleware system for volunteer computing, involves projects, which distribute jobs, and hosts, which execute jobs. The local (host-level) scheduler addresses two issues: when to fetch new jobs from a project and, of the currently runnable jobs, which to execute. It seeks to simultaneously satisfy a number of constraints - such as maintaining given long-term ratios of work between projects, meeting deadlines for job reporting, and providing variety to the volunteer - using uncertain, dynamic information about resources and jobs. We describe these goals and factors, and discuss BOINC's local scheduling policies. David P. Anderson, John McLeod |
IPDPS | 1 |
| 2006 | The Computational and Storage Potential of Volunteer Computingabstract"Volunteer computing" uses Internet-connected computers, volunteered by their owners, as a source of computing power and storage. This paper studies the potential capacity of volunteer computing. We analyzed measurements of over 330,000 hosts participating in a volunteer computing project. These measurements include processing power, memory, disk space, network throughput, host availability, userspecified limits on resource usage, and host churn. We show that volunteer computing can support applications that are significantly more data-intensive, or have larger memory and storage requirements, than those in current projects. David P. Anderson, Gilles Fedak |
CCGRID | 1 |
| 2006 | The Effectiveness of Threshold-Based Scheduling Policies in BOINC ProjectsabstractSeveral scientific projects use BOINC (Berkeley Open Infrastructure for Network Computing) to perform largescale simulations using volunteers' computers (workers) across the Internet. In general, the scheduling of tasks in BOINC uses a First-Come-First-Serve policy and no attention is paid to workers' past performance, such as whether or not they have tended to perform tasks promptly and correctly. In this paper we use SimBA, a discrete-event Simulator of BOINC Applications, to study new threshold-based scheduling strategies for BOINC projects that use availability and reliability metrics to classify workers and distribute tasks according to this classification. We show that if availability and reliability thresholds are selected properly, then the workers' throughput of valid results increases significantly in BOINC projects. Trilce Estrada, David A. Flores, Michela Taufer, Patricia J. Teller, Andre Kerstens, David P. Anderson |
e-Science | 6 |
| 2006 | Grid resource management - Designing a runtime system for volunteer computingabstractVolunteer computing is a form of distributed computing in which the general public volunteers processing and storage to scientific research projects. BOINC, a middleware system for volunteer computing, is currently used by about 20 projects, to which 300,000 volunteers and 450,000 computers supply 350 TeraFLOPS of processing power. A BOINC client program runs on the volunteered hosts and manages the execution of applications. Together with a library linked to applications, it implements a runtime system providing process management, graphics control, checkpointing, file access, and other functions. This runtime system must handle widely varying applications, must provide features and properties desired by volunteers, and must work on many platforms. This paper describes the problems in designing a runtime system having these properties, and how these problems are solved in BOINC. David P. Anderson, Carl Christensen, Bruce Allen |
SC | 1 |
| 2005 | High-Performance Task Distribution for Volunteer ComputingabstractVolunteer computing projects use a task server to manage work. Clients periodically communicate with the server to report completed tasks and get new tasks. The rate at which the server can dispatch tasks may limit the computing power available to the project. This paper discusses the design of the task server in BOINC, a middleware system for volunteer computing. We present measurements of the CPU time and disk I/O used by a BOINC server, and show that a server consisting of a single inexpensive computer can distribute on the order of 8.8 million tasks per day. With two additional computers this increases to 23.6 million tasks per day. David P. Anderson, Eric Korpela, Rom Walton |
e-Science | 1 |
| 2005 | Metrics for Effective Resource Management in Global Computing EnvironmentsabstractGlobal computing uses Internet-connected PCs volunteered by their owners. These PCs are diverse, volatile, and error-prone. Sophisticated scheduling methods commonly applied in grid computing may not be sufficiently scalable and flexible for global computing environments. This paper shows that it is possible to classify global computing hosts based on simple metrics such as availability and reliability, and that it is efficient to assign tasks to such hosts accordingly. The proposed classification of workers is applied to P@H, a global computing project for protein structure prediction Michela Taufer, Patricia J. Teller, David P. Anderson, Charles L. Brooks III |
e-Science | 3 |
| 1997 | Device Reservation in Audio/Video Editing SystemsabstractWhat fraction of disks and other shared devices must be reserved to play an audio/video document without dropouts? In general, this question cannot be answered precisely. For documents with complex and irregular structure, such as those arising in audio/video editing, it is difficult even to give a good estimate. We describe three approaches to this problem. The first, based on long-term average properties of segments, is fast but imprecise: it underreserves in some cases and overreserves in others. The second approach models individual disk and network operations. It is precise but slow. The third approach, a hybrid, is both precise and fast. David P. Anderson |
ACM Trans. Comput. Syst. | 1 |
| 1993 | Metascheduling for Continuous MediaabstractNext-generation distributed systems will supportcontinuous media(digital audio and video) in the same framework as other data. Many applications that use continuous media need guaranteed end-to-end performance (bounds on throughput and delay). To reliably support these requirements, system components such as CPU schedulers, networks, and file systems must offer performance guarantees. Ametaschedulercoordinates these components, negotiating end-to-end guarantees on behalf of clients. TheCM-resource model, described in this paper, provides a basis for such a metascheduler. It defines a workload parameterization, an abstract interface to resources, and an algorithm for reserving multiple resources. The model uses an economic approach to dividing end-to-end delay, and it allows system components to “work ahead,” improving the performance of nonreal-time workload. David P. Anderson |
ACM Trans. Comput. Syst. | 1 |
| 1992 | Comet: A Toolkit for Multiuser Audio/Video ApplicationsabstractComet, a UNIX/C++ toolkit for writing programs, such as teleconferencing systems and collaborative editors, that involve multiple users and use digital audio video, is described. Comet provides a simple programming interface: the application builds a graph of objects representing speakers and microphones, mixers, files, etc. Comet realizes the graph by creating and interconnecting processes and audio/video I/O servers. It handles implementation details such as process placement, data type conversion, and resource reservation.> David P. Anderson, Pamela Chan |
ICDCS | 1 |
| 1992 | Toolkit support for multiuser audio/video applications
David P. Anderson, Pamela Chan |
Comput. Commun. | 1 |
| 1992 | A File System for Continuous MediaabstractThe Continuous Media File System, CMFS, supports real-time storage and retrieval of continuous media data (digital audio and video) on disk. CMFS clients read or write files in “sessions,” each with a guaranteed minimum data rate. Multiple sessions, perhaps with different rates, and non-real-time access can proceed concurrently. CMFS addresses several interrelated design issues; real-time semantics fo sessions, disk layout, an acceptance test for new sessions, and disk scheduling policy. We use simulation to compare different design choices. David P. Anderson, Yoshitomo Osawa, Ramesh Govindan |
ACM Trans. Comput. Syst. | 1 |
| 1991 | Toolkit Support fro Multiuser Audio/Video Applications
David P. Anderson, Pamela Chan |
NOSSDAV | 1 |
| 1991 | Scheduling and IPC Mechanisms for Continuous MediaabstractNext-generation workstations will have hardware support for digital "continuous media" (CM) such as audio and video. CM applications handle data at high rates, with strict timing requirements, and often in small "chunks". If such applications are to run efficiently and predictably as user-level programs, an operating system must provide scheduling and IPC mechanisms that reflect these needs. We propose two such mechanisms: split-level CPU scheduling of lightweight processes in multiple address spaces, and memory-mapped streams for data movement between address spaces. These techniques reduce the the number of user/kernel interactions (system calls, signals, and preemptions). Compared with existing mechanisms, they can reduce scheduling and I/O overhead by a factor of 4 to 6. Ramesh Govindan, David P. Anderson |
SOSP | 2 |
| 1991 | The Performance of Message-passing Using Restricted Virtual Memory RemappingabstractAbstract DASH is a distributed operating system kernel. Message‐passing (MP) is used for local communication, and the MP system uses virtual memory ( VM) remapping instead of software memory copying for moving large amounts of data between virtual address spaces. Remapping eliminates a potential communication bottleneck and may increase the feasibility of moving services such as file services to the user level. Previous systems that have used VM remapping for message transfer, however, have suffered from high per‐operation delay, limiting the use of the technique. The DASH design reduces this delay by restricting the generality of remapping: a fixed part of every space is reserved for remapping, and a page's virtual address does not change when it is moved between spaces. We measured the performance of the DASH kernel for Sun 3/50 workstations, on which memory can be copied at 3·9 MB/s. Using remapping, DASH can move large messages between user spaces at a rate of 39 MB/s if they are not referenced and 24·8 MB/s if each page is referenced. Furthermore, the per‐operation delay is low, so VM remapping is beneficial even for messages containing only one page. To further understand the performance of the DASH MP system, we broke an MP operation into short code segments and timed them with microsecond precision. The results show the relative costs of data movement and the other components of MP operations, and allow us to evaluate several specific design decisions. Shin-Yuan Tzou, David P. Anderson |
Softw. Pract. Exp. | 2 |
| 1990 | Support for Continuous Media in the DASH SystemabstractThe DASH resource model is defined as a basis for reserving and scheduling resources (disk, CPU, network, etc.) involved in end-to-end handling of continuous-media (information flowing continuously over real time i.e. digital audio or digital video) data. The model uses primitives that express work-load characteristics and performance requirements, and defines an algorithm for negotiated reservation of distributed resources. This algorithm is embodied in the session reservation protocol, a backward-compatible extension of the Internet Protocol. Hardware trends and future applications that motivate the DASH resource model are described. The performance requirements for using continuous media and the limitations of existing systems are discussed. The DASH resource model for reserving and scheduling resources is presented. The DASH kernel is briefly described.> David P. Anderson, Shin-Yuan Tzou, Robert Wahbe, Ramesh Govindan, M. Andrews |
ICDCS | 1 |
| 1990 | Tarmac: A Language System Substrate Based on Mobile MemoryabstractTarmac, a language system substrate on which systems for distributed parallel programming can be built, is described. A model of shared global state, called mobile memory, which is provided by Tarmac, is discussed. The basic unit of state in this model can be viewed both (1) as a block of memory that can be directly accessed by machine instructions and (2) as a logical entity with a globally unique name that may be efficiently located, copied, and moved. To support higher level synchronization models, the movements of a memory unit may optionally enable computations. The implementation and performance of Tarmac are discussed. Tarmac is contrasted with other systems for parallel distributed programming.> Steven Lucco, David P. Anderson |
ICDCS | 2 |
| 1990 | Efficient Automated Protocol Implementation Using RTAGabstractAbstract RTAG is a system for automated implementation of communication protocols from formal specifications. The RTAG specification language is based on attribute grammars, and allows complex protocols to be specified concisely and with minimal need for additional program code. This paper describes a set of techniques for efficient automated implementation of protocols from RTAG specifications, and compares the performance to that of hand‐coded protocol implementations. We conclude that in many cases the performance of RTAG‐based protocol implementations is acceptable for experimental or production uses. Diane Hernek, David P. Anderson |
Softw. Pract. Exp. | 2 |
| 1990 | A System for Computer Music PerformanceabstractA computer music performance system (CMPS) is a computer system connected to input devices (including musical keyboards or other instruments) and to graphic and audio output devices. A human performer generates input events using the input devices. The CMPS responds to these events by computing and performing sequences of output actions whose intended timing is determined algorithmically. Because of the need for accurate timing of output actions, the scheduling requirements of a CMPS differ from those of general-purpose or conventional real-time systems. This paper describes the scheduling facilities of FORMULA, a CMPS used by many musicians. In addition to providing accurate timing of output action sequences, FORMULA provides other basic functions useful in musical applications: (1) per-process virtual time systems with independent relationships to real time; (2) process grouping mechanisms and language-level control structures with time-related semantics, and (3) integrated scheduling of tasks (such as compiling and editing) whose real-time constraints are less stringent than those of output action computations. David P. Anderson, Ron Kuivila |
ACM Trans. Comput. Syst. | 1 |
| 1989 | Marionette: a system for parallel distributed programming using a master/slave modelabstractMarionette, a software package for distributed parallel programming in an environment of networked heterogeneous computer systems is described. It uses a master/slave model in which otherwise sequential application programmes can invoke worker operations (asynchronous remote procedure calls executed by slave processes) and context operations (updates to slaves' process states). The master and slaves also interact through shared data structures that can be modified only by the master. The Marionette runtime system is a heterogeneous remote procedure call package. It maintains the consistency of shared data structures, recovers transparently from slave processor failure, and assigns operations to slaves. The Marionette system includes tools for debugging, automated compilation of program binaries for multiple architectures, and distributing binaries to remote file systems. Measurements of a UNIX-based implementation to Marionette and a parallel ray-tracing renderer are presented.> Mark Paul Sullivan, David P. Anderson |
ICDCS | 2 |
| 1988 | A Software Architecture for Network CommunicationabstractA communication abstraction called real-time message streams (RMS) is proposed. An RMS is a simplex (unidirectional) stream with several performance and security parameters that express the needs of RMS clients and the capabilities of the RMS provider. RMS providers can eliminate unnecessary or redundant work and can optimally schedule resources; RMS clients can use the parameters to select optimal methods for achieving reliability and flow control. RMS is the communication primitive of the DASH distributed system, which is currently being developed. The role of RMS in the DASH communication architecture and techniques and algorithms for providing RMS at different system levels are described.> David P. Anderson |
ICDCS | 1 |
| 1988 | Automated Protocol Implementation with RTAGabstractThe RTAG (real-time asynchronous grammars) programming language is discussed. The language is based on an attribute grammar notation for specifying protocols. Its main design goals are: (1) to support concise and easily understood expression of complex real-world protocols; and (2) to serve as the basis of a portable software system for automated protocol implementation. The algorithms used in generating implementations from given specifications are sketched, and a Unix-based automated implementation system for RTAG is described.> David P. Anderson |
IEEE Trans. Software Eng. | 1 |
| 1987 | A Protocol for Secure Communication and Its Performance
David P. Anderson, Domenico Ferrari, P. Venkat Rangan, B. Sartirana |
ICDCS | 1 |
| 1987 | The Empirical Evaluation of a Security-Oriented Datagram Protocol
David P. Anderson, Domenico Ferrari, P. Venkat Rangan, B. Sartirana |
Performance | 1 |
| 1987 | A Basis for Secure Communication in Large Distributed SystemsabstractWe propose a secure communication architecture for distributed systems that puts security below the transport level, and uses host-to-host rather than process-to-process secure channels. We argue that this provides the same level of end-to-end security as putting security at higher levels, and that it can simplify and improve the performance of transport protocols. The architecture is designed for very large distributed systems, which in general have security requirements beyond those of LAN-based systems. David P. Anderson, P. Venkat Rangan |
S&P | 1 |
| 1985 | A grammar-based methodology for protocol specification and implementationabstractA new methodology for specifying and implementing communication protocols is presented. This methodology is based on a formalism called “Real-Time Asynchronous Grammars” (RTAG), which uses a syntax similar to that of attribute grammars to specify allowable message sequences. In addition RTAG provides mechanisms for specifying data-dependent protocol activities, real-time constraints, and concurrent activities within a protocol entity. RTAG encourages a top-down approach to protocol design that can be of significant benefit in expressing and reasoning about highly complex protocols. As an example, an RTAG specification is given for part of the Class 4 ISO Transport Protocol (TP-4). David P. Anderson, Lawrence H. Landweber |
SIGCOMM | 1 |
| 1985 | Efficient algorithms for automatic viewer orientation
David P. Anderson |
Comput. Graph. | 1 |
| 1982 | An orientation method for central projection programs
David P. Anderson |
Comput. Graph. | 1 |