EDBT 2026 Demo / reviewers in the wild / expert
David Bernstein
dblp:24/634
· DBLP profile ↗
27ranked-venue papers
19as first author
1since 2021 · last 2022
0000-0002-2267-5741ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 9 · 7 first-author · 1 since 2021Software engineering, systems software and programming languages · 8 · 7 first-authorTheory of computation · 2 · 1 first-authorArtificial intelligence and machine learning · 1 · 1 since 2021Databases, data management, data science and information retrieval · 1 · 1 first-authorHuman-computer interaction and ubiquitous computing · 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.
| Software engineering, system software, and programming languages
9 papers |
Compilers and program optimization · 100% | |
| Computer architecture, parallel and distributed computing, and storage systems
8 papers |
Processor architecture and microarchitecture · 55% Performance modeling and evaluation · 19% Electronic design automation · 18% | |
| Theoretical computer science
2 papers |
Mathematical optimization · 62% Algorithms and data structures · 19% Approximation and online algorithms · 19% |
Topics — the 22 heaviest of 23, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Compilers and program optimization
instruction scheduling |
0.1 | 8 | 1994 | Dynamic memory disambiguation for array references · MICRO 1994 Performance evaluation of instruction scheduling on the IBM RISC System/6000 · MICRO 1992 Global Instruction Scheduling for Superscalar Machines · PLDI 1991 |
Compilers and program optimization › instruction scheduling
global instruction scheduling |
0.0 | 2 | 1991 | Global Instruction Scheduling for Superscalar Machines · PLDI 1991 Code Duplication: An Assist for Global Instruction Scheduling · MICRO 1991 |
Processor architecture and microarchitecture
instruction scheduling |
0.0 | 3 | 1989 | Scheduling Expressions on a Pipelined Processor with a Maximal Delay of One Cycle · ACM Trans. Program. Lang. Syst. 1989 Scheduling Arithmetic and Load Operations in Parallel with No Spilling · POPL 1987 Optimal Scheduling of Arithmetic Operations in Parallel with Memory Accesses · POPL 1985 |
Compilers and program optimization › dependence analysis
memory disambiguation |
0.0 | 1 | 1994 | Dynamic memory disambiguation for array references · MICRO 1994 |
Compilers and program optimization › instruction scheduling
software pipelining |
0.0 | 1 | 1994 | Dynamic memory disambiguation for array references · MICRO 1994 |
Processor architecture and microarchitecture › microprocessor design › processor core design
functional units |
0.0 | 3 | 1989 | Scheduling Arithmetic and Load Operations in Parallel with No Spilling · SIAM J. Comput. 1989 Scheduling Arithmetic and Load Operations in Parallel with No Spilling · POPL 1987 Optimal Scheduling of Arithmetic Operations in Parallel with Memory Accesses · POPL 1985 |
Electronic design automation › high-level synthesis › scheduling
operation scheduling |
0.0 | 2 | 1987 | Scheduling Arithmetic and Load Operations in Parallel with No Spilling · POPL 1987 Optimal Scheduling of Arithmetic Operations in Parallel with Memory Accesses · POPL 1985 |
Compilers and program optimization
code duplication |
0.0 | 1 | 1991 | Code Duplication: An Assist for Global Instruction Scheduling · MICRO 1991 |
Compilers and program optimization › register allocation
graph coloring register allocation |
0.0 | 1 | 1989 | Spill Code Minimization Techniques for Optimizing Compilers · PLDI 1989 |
Compilers and program optimization
register allocation |
0.0 | 1 | 1989 | Spill Code Minimization Techniques for Optimizing Compilers · PLDI 1989 |
Compilers and program optimization › register allocation
spill code minimization |
0.0 | 1 | 1989 | Spill Code Minimization Techniques for Optimizing Compilers · PLDI 1989 |
Processor architecture and microarchitecture
instruction-level parallelism |
0.0 | 1 | 1989 | Scheduling Arithmetic and Load Operations in Parallel with No Spilling · SIAM J. Comput. 1989 |
Performance modeling and evaluation › scheduling optimization
optimal scheduling |
0.0 | 1 | 1989 | On the Complexity of Scheduling Problems for Parallel/Pipelined Machines · IEEE Trans. Computers 1989 |
Processor architecture and microarchitecture › pipelining
pipelined processor |
0.0 | 1 | 1989 | Scheduling Expressions on a Pipelined Processor with a Maximal Delay of One Cycle · ACM Trans. Program. Lang. Syst. 1989 |
Parallel and multicore computing › task scheduling
pipeline scheduling |
0.0 | 1 | 1989 | Scheduling Expressions on a Pipelined Processor with a Maximal Delay of One Cycle · ACM Trans. Program. Lang. Syst. 1989 |
Electronic design automation › high-level synthesis
scheduling |
0.0 | 1 | 1989 | On the Complexity of Scheduling Problems for Parallel/Pipelined Machines · IEEE Trans. Computers 1989 |
Mathematical optimization › combinatorial optimization
scheduling complexity |
0.0 | 1 | 1989 | On the Complexity of Scheduling Problems for Parallel/Pipelined Machines · IEEE Trans. Computers 1989 |
Processor architecture and microarchitecture › pipelining
pipelined functional units |
0.0 | 2 | 1989 | On the Complexity of Scheduling Problems for Parallel/Pipelined Machines · IEEE Trans. Computers 1989 Optimal Chaining in Expression Trees · IEEE Trans. Computers 1988 |
Processor architecture and microarchitecture › load/store queue
load/store unit |
0.0 | 2 | 1987 | Scheduling Arithmetic and Load Operations in Parallel with No Spilling · POPL 1987 Optimal Scheduling of Arithmetic Operations in Parallel with Memory Accesses · POPL 1985 |
Processor architecture and microarchitecture
superscalar processor |
0.0 | 1 | 1991 | Global Instruction Scheduling for Superscalar Machines · PLDI 1991 |
Algorithms and data structures
dynamic programming |
0.0 | 1 | 1989 | Scheduling Arithmetic and Load Operations in Parallel with No Spilling · SIAM J. Comput. 1989 |
Approximation and online algorithms
scheduling approximation |
0.0 | 1 | 1989 | Scheduling Arithmetic and Load Operations in Parallel with No Spilling · SIAM J. Comput. 1989 |
Methods — techniques the papers use, named apart from their topics
dynamic programming · 0.0worst-case analysis · 0.0data dependence analysis · 0.0control dependence analysis · 0.0static analysis · 0.0runtime analysis · 0.0polynomial-time algorithm · 0.0linear time scheduling algorithm · 0.0approximation algorithm · 0.0scheduling algorithm · 0.0priority-based coloring · 0.0heuristic methods · 0.0coffman-graham algorithm · 0.0optimal scheduling algorithm · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2022 | Automated Aerial Screwing with a Fully Actuated Aerial ManipulatorabstractThe tasks that unmanned aerial vehicles (UAVs) have taken upon have progressively grown in complexity over the years, alongside with the level of autonomy with which they are carried out. In this work, we present an example of aerial screwing operations with a fully-actuated tilt-rotor platform. Key contributions include a new control framework to automate screwing operations through a robust hole search and in-hole detection algorithm. These are achieved without a-priori knowledge of the exact hole location, and without the use of external tools, such as vision based hole detection or force sensors. Wrench coupling is implemented to account for the platform's kinematic constraints during screwing. The application of a constant contact force and a compliant response to induced disturbances are obtained with the use of admittance control. The full framework is validated with extensive flight experiments that demonstrate the effectiveness of each subsystem, as well as the complete architecture. We also validate the robustness of the detection algorithm against false positives. Within the results we demonstrate the ability to perform the automated task with a 86% success rate over 35 flights, and measured hole search time of 9s (median value). Micha Schuster, David Bernstein, Paul Reck, Salua Hamaza, Michael Beitelschmidt |
IROS | 2 |
| 2015 | Towards an Ontology-Based Intercloud Resource Catalogue - The IEEE P2302 Intercloud Approach for a Semantic Resource ExchangeabstractThe Cloud Computing paradigm has been adopted in countless areas of application and forms the basis of a growing number of business cases. Similar to the situation with service providers in the 1980th, it becomes apparent that different Cloud providers build walled gardens around their offerings. While multiple projects and organizations are working on standards for federating Cloud domains, the scalable exchange of descriptions about heterogeneous resources are often not well considered. Our approach is to adopt both, ideas initially developed for the Internet to define a scalable architecture and concepts from the Semantic Web to define a canonical Intercloud ontology. An initial implementation of the architecture has been developed to form a basis for further refinement of the proposed concepts. As a result, we have defined an initial ontology for Intercloud resources and implemented a catalog for the IEEE Intercloud architecture. Beniamino Di Martino, Giuseppina Cretella, Antonio Esposito 0001, Alexander Willner, A. Alloush, David Bernstein, Deepak Vij, J. Weinman |
IC2E | 6 |
| 2015 | Backward Design: An Integrated Approach to a Systems CurriculumabstractThis paper summarizes our experiences restructuring a core portion of our required courses for majors. Internal and external reviews of our program highlighted areas of concern in our "systems core," including inconsistent student outcomes, missing required material, and inadequate opportunities for programmatic assessment. To fix these problems, we initiated a curricular review to redesign these courses. Our novel approach employed a process known as backward course design that starts with desired student outcomes and works backward toward defining content coverage. By extending this design approach to our curriculum as a whole, we have defined a new systems core structure that has tightly integrated curriculum assessment opportunities. The result is a new systems core that changes almost 1/3 of the required courses for the major. This new structure provides increased student control over their learning goals while defining a consistent foundation of systems fundamentals; it also has tightly integrated program objectives and assessments. Applying the backward design philosophy to the curriculum, rather than to a single, pre-defined course, is both a rewarding and challenging experience. In this paper, we describe this approach, summarize the results of the process, and map the outcomes to the ACM 2013 curriculum. We also provide advice and lessons learned for others who may consider such an undertaking. Michael S. Kirkpatrick, Mohamed S. Aboutabl, David Bernstein, Sharon Simmons |
SIGCSE | 3 |
| 2014 | Experience of Profiling Curricula on Cloud Computing Technologies and Engineering for Different Target GroupsabstractThis paper presents results and experience by the authors based on the few delivered courses on Cloud Computing for different target groups of students, specialists and trainees. The developed courses implement the proposed by the authors instructional methodology integrating the two major concepts of effective learning: the Bloom's Taxonomy of cognitive learning processes and Andragogy as the adult learning methodology. The central part of the proposed approach is the Common Body of Knowledge in Cloud Computing (CBK-CC) that defines the professional level of knowledge in the selected domain and allows consistent curricula structuring and profiling. The paper presents the structure of the courses and explains the principles used for developing course materials, such as Bloom's Taxonomy applied for technical education, and andragogy instructional model for professional education and training. The developed courses are based on the well-defined Cloud Computing architecture, service and operational model, and stakeholder roles/responsibilities. The paper provides a short description of the developed education and training courses on Cloud Computing that illustrate how the proposed CBK-CC and instructional methodologies are used in different learning environments and for different learners' groups. Yuri Demchenko, Adam Belloum, David Bernstein, Cees T. A. M. de Laat |
CloudCom | 3 |
| 2013 | The IEEE Intercloud Testbed - Creating the Global Cloud of CloudsabstractThis paper presents the current work of the IEEE Intercloud Testbed project. The notion of an Intercloud has been an active research topic. Within the IEEE several researchers formed a Standards Working Group (IEEE P2302) where a specific set of conventions, formats, and protocols were proposed. It was decided by those in the Standards Working Group that due to the scale, variability of component Compute Clouds, and lack of insight into extremely large Compute Cloud operational issues, such a system could not realistically be fully defined without live experimentation. Therefore it was decided to set up a specifically structured organization within the IEEE in parallel to the Standards Working Group, to provide a structure for a live, experimental testbed. This paper describes the innovative organizational structure and various policies were used to provide the desire context. Also covered are how we sorted the issues around governance of the namespace, and the technical details of reference "Root" and "Exchange" functions. Ongoing work includes the plan to bootstrap the new testbed. David Bernstein, Yuri Demchenko |
CloudCom (2) | 1 |
| 2013 | New Instructional Models for Building Effective Curricula on Cloud Computing Technologies and EngineeringabstractThis paper presents ongoing work to develop advanced education and training course on the Cloud Computing technologies foundation and engineering by a cooperating group of universities and the professional education partners. The central part of proposed approach is the Common Body of Knowledge in Cloud Computing (CBK-CC) that defines the professional level of knowledge in the selected domain and allows consistent curricula structuring and profiling. The paper presents the structure of the course and explains the principles used for developing course materials, such as Bloom's Taxonomy applied for technical education, and andragogy instructional model for professional education and training. The paper explains the importance of using the strong technical foundation to build the course materials that can address interests of different categories of stakeholders and roles/responsibilities in the Cloud Computing services provisioning and operation. The paper provides a short description of summary of the used Cloud Computing related architecture concepts and models that allow consistent mapping between CBK-CC, stakeholder roles/responsibilities and required skills, explaining also importance of the requirements engineering stage that provides a context for cloud based services design. The paper refers to the ongoing development of the educational course on Cloud Computing at the University of Amsterdam, University of Stavanger and provides suggestions for building advanced online training course for IT professionals. Yuri Demchenko, David Bernstein, Adam Belloum, Ana-Maria Oprescu, Tomasz Wiktor Wlodarczyk, Cees T. A. M. de Laat |
CloudCom (2) | 2 |
| 2010 | Intercloud Security ConsiderationsabstractCloud computing is a new design pattern for large, distributed data centers. Service providers offering applications including search, email, and social networks have pioneered this specific to their application. Recently they have expanded offerings to include compute-related capabilities such as virtual machines, storage, and complete operating system services. The cloud computing design yields breakthroughs in geographical distribution, resource utilization efficiency, and infrastructure automation. These “public clouds” have been replicated by IT vendors for corporations to build “private clouds” of their own. Public and private clouds offer their end consumers a “pay as you go” model - a powerful shift for computing, towards a utility model like the electricity system, the telephone system, or more recently the Internet. However, unlike those utilities, clouds cannot yet federate and interoperate. Such federation is called the “Intercloud”. Building the Intercloud is more than technical protocols. Ablueprint for an Intercloud economy must bearchitected with a technically sound foundation and topology. As part of the overall Intercloud Topology, this paper builds on the technology foundation emerging for the Intercloud and specifically delves into details of Intercloud security considerations such as Trust Model, Identity and Access Management, governance considerations and so on. David Bernstein, Deepak Vij |
CloudCom | 1 |
| 2010 | Intercloud Directory and Exchange Protocol Detail Using XMPP and RDFabstractWorking groups have proposed building a layered set of protocols to solve the Cloud Computing interoperability challenge called “Intercloud Protocols”. Instead of each cloud provider establishing connectivity with another cloud provider in a Point-to-Point manner resulting in the n2complexity problem, Intercloud Directories and Exchanges will act as mediators for enabling connectivity and collaboration among disparate cloud providers. Point to Point protocols such as HTTP are not suitable beyond 1-to-1 models, therefore the discussions around many-to-many mechanisms have been proposed, including XMPP. This paper details the use of an XMPP mechanism for such mediation. On top of that, for the federation of the resources themselves, we define a resources catalog approach, using the Semantic Web Resource Definition Framework (RDF) along with a common Ontology of Cloud Computing Resources to work across a variety of heterogeneous cloud providers. David Bernstein, Deepak Vij |
SERVICES | 1 |
| 2009 | Blueprint for the Intercloud - Protocols and Formats for Cloud Computing InteroperabilityabstractCloud computing is a term applied to large, hosted datacenters, usually geographically distributed, which offer various computational services on a ldquoutilityrdquo basis. Most typically the configuration and provisioning of these datacenters, as far as the services for the subscribers go, is highly automated, to the point of the service being delivered within seconds of the subscriber request. Additionally, the datacenters typically use hypervisor based virtualization as a technique to deliver these services. The concept of a cloud operated by one service provider or enterprise interoperating with a clouds operated by another is a powerful idea. So far that is limited to use cases where code running on one cloud explicitly references a service on another cloud. There is no implicit and transparent interoperability. Use cases for interoperability, as well as work-in-progress around inter-cloud protocols and formats for enabling those use cases, are discussed in this paper. David Bernstein, Erik Ludvigson, Krishna Sankar, Steven Diamond, Monique Morrow |
ICIW | 1 |
| 2008 | Message Streaming Network Components Architecture and In-Network Programming ModelabstractMany network devices implement capabilities to manipulate traffic depending on the application. Examples include a firewall or a load balancer. These are based on Layer 2-4 packet-based classifications such as port or protocol, or signature recognition. Although configurable or extensible via scripting, they are not generally programmable. We present an architecture extending classification to programmable, semantic Layer 5-7 capabilities. The architecture has programmable handling of that classified traffic, which are message flows, not packets. This has led us to a new, in-network message streaming based programming model. Finally, we present a series of network platform capabilities delivered as components, from precision timing to programmable QoS to network identity. David Bernstein, John McDowall, Krishna Sankar, Stanley Poon |
SERA | 1 |
| 2001 | A Flexible Java Representation for Uncertainty in Online Operations-Research ModelsabstractOnline OR models have been the subject of increased attention in recent years with the rapid expansion of the Internet. Although much has been written about the implementation, as well as the formal analysis of online models, little has been said about how to handle uncertainty in an online setting. In particular, the dynamic nature of uncertainty that is so characteristic of online models, where estimates and distributions evolve in parallel with the state of the model, has been largely ignored. In this paper, we present a new representation for uncertainty in online models. This representation is object-oriented and, as such, provides several important software-engineering advantages over traditional representations for uncertainty. Moreover, by using the event listener paradigm it provides an explicit mechanism for handling dynamic uncertainty in an elegant and extensible manner. A series of computational experiments demonstrates that there is no significant overhead to our representation when compared to traditional representations on a realistic application and, in some cases, our representation can be noticeably faster. Joel A. Shapiro, Warren B. Powell, David Bernstein |
INFORMS J. Comput. | 3 |
| 1999 | Virtual Cache Line: A New Technique to Improve Cache Exploitation for Recursive Data Structures
Shai Rubin, David Bernstein, Michael Rodeh |
CC | 2 |
| 1995 | Compiler techniques for data prefetching on the PowerPC
David Bernstein, Doron Cohen 0001, Ari Freund 0001 |
PACT | 1 |
| 1994 | Dynamic memory disambiguation for array referencesabstractWe present a new algorithm for dynamic memory disambiguation for array references that allows us to overcome limitations of static analysis. For array references that cannot be accurately analyzed at compile time, we defer the disambiguation process until run-time. We have implemented our analysis algorithm in a prototype version of the IBM XL compiler and used the generated information for several compiler optimizations: software pipelining with global instruction scheduling, loop-invariant motion and redundant load elimination. We evaluated the algorithm on an IBM POWER2 system using the SPEC92 benchmarks. We show that for numeric C benchmarks, dynamic memory disambiguation can greatly improve run-time performance. Perhaps more importantly, we show that even for the programs that cannot benefit from dynamic analysis, the overhead of our algorithm does not degrade performance. David Bernstein, Doron Cohen 0001, Dror E. Maydan |
MICRO | 1 |
| 1992 | Proving Safety of Speculative Load Instructions at Compile Time
David Bernstein, Michael Rodeh, Shmuel Sagiv |
ESOP | 1 |
| 1992 | Performance evaluation of instruction scheduling on the IBM RISC System/6000
David Bernstein, Doron Cohen 0001, Yuval Lavon, Vladimir Rainish |
MICRO | 1 |
| 1991 | Code Duplication: An Assist for Global Instruction SchedulingabstractArticle Code duplication: an assist for global instruction scheduling Share on Authors: David Bernstein IBM Israel Scientific Center, The Technion City, Haifa 32000, Israel IBM Israel Scientific Center, The Technion City, Haifa 32000, IsraelView Profile , Doron Cohen IBM Israel Scientific Center, The Technion City, Haifa 32000, Israel IBM Israel Scientific Center, The Technion City, Haifa 32000, IsraelView Profile , Hugo Krawczyk Computer Science Department, Princeton University, New Jersey and IBM Israel Scientific Center, The Technion City, Haifa 32000, Israel Computer Science Department, Princeton University, New Jersey and IBM Israel Scientific Center, The Technion City, Haifa 32000, IsraelView Profile Authors Info & Claims MICRO 24: Proceedings of the 24th annual international symposium on MicroarchitectureSeptember 1991 Pages 103–113https://doi.org/10.1145/123465.123486Online:01 September 1991Publication History 24citation364DownloadsMetricsTotal Citations24Total Downloads364Last 12 Months5Last 6 weeks0 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 SiteGet Access David Bernstein, Doron Cohen 0001, Hugo Krawczyk |
MICRO | 1 |
| 1991 | Global Instruction Scheduling for Superscalar MachinesabstractTo improve the utilization of machine resources in superscalar processors, the instructions have to be carefully scheduled by the compiler.As internal parallelism and pipelining increases, it becomes evident that scheduling should be done beyond the basic block level.A scheme for global (intra-loop) scheduling is proposed, which uses the control and data dependence information summarized in a David Bernstein, Michael Rodeh |
PLDI | 1 |
| 1989 | Spill Code Minimization Techniques for Optimizing CompilersabstractGlobal register allocation and spilling is commonly performed by solving a graph coloring problem. In this paper we present a new coherent set of heuristic methods for reducing the amount of spill code generated. This results in more efficient (and shorter) compiled code. Our approach has been compared to both standard and priority-based coloring algorithms, universally outperforming them. David Bernstein, Dina Q. Goldin, Martin Charles Golumbic, Hugo Krawczyk, Yishay Mansour, Itai Nahshon, Ron Y. Pinter |
PLDI | 1 |
| 1989 | Shedding light on black holes
Larry Smarr, David Hobill, David Bernstein |
Future Gener. Comput. Syst. | 3 |
| 1989 | Scheduling Arithmetic and Load Operations in Parallel with No SpillingabstractA machine model in which load operations can be performed in parallel with arithmetic operations by two separate functional units is considered. For this model, the evaluation of a set of expression trees is discussed. A dynamic programming algorithm for producing an approximate solution is described and analyzed. For binary trees its worse-case cost is at most $\min (1.091,1 + {{(2\log n)} / n})$ times the optimal cost. David Bernstein, Jeff Jaffe, Michael Rodeh |
SIAM J. Comput. | 1 |
| 1989 | On the Complexity of Scheduling Problems for Parallel/Pipelined MachinesabstractThe problem of optimal scheduling of a job system for two dedicated processors is presented. A machine model with two functional units which can be either sequential or pipelined is considered. The complexity of optimal scheduling for a set of expressions on such machines is investigated. Some previous NP-completeness results are reviewed and several new ones are presented. For one restricted case, a polynomial-time algorithm is described and analyzed.> David Bernstein, Michael Rodeh, Izidor Gertner |
IEEE Trans. Computers | 1 |
| 1989 | Scheduling Expressions on a Pipelined Processor with a Maximal Delay of One CycleabstractConsider a pipelined machine that can issue instructions every machine cycle. Sometimes, an instruction that uses the result of the instruction preceding it in a pipe must be delayed to ensure that a program computes a right value. We assume that issuing of such instructions is delayed by at most one machine cycle. For such a machine model, given an unbounded number of machine registers and memory locations, an algorithm to find a shortest schedule of the given expression is presented and analyzed. The proposed algorithm is a modification of Coffman-Graham's algorithm [7], which provides an optimal solution to the problem of scheduling tasks on two parallel processors. David Bernstein, Izidor Gertner |
ACM Trans. Program. Lang. Syst. | 1 |
| 1988 | An Improved Approximation Algorithm for Scheduling Pipelined Machines
David Bernstein |
ICPP (1) | 1 |
| 1988 | Optimal Chaining in Expression TreesabstractChaining is the ability to pipeline two or more vector instructions on Cray-1 like machines. The authors show how to optimally use this feature to compute (vector) expression trees in the context of automatic code generation. They present a linear time scheduling algorithm for finding an optimal order of evaluation for a machine with a bounded number of registers.> David Bernstein, Haran Boral, Ron Y. Pinter |
IEEE Trans. Computers | 1 |
| 1987 | Scheduling Arithmetic and Load Operations in Parallel with No SpillingabstractWe consider a machine model in which load operations can be performed in parallel with arithmetic operations by two separate functional units. For this model, the evaluation of a set of expression trees is discussed. A dynamic programming algorithm to produce an approximate solution is described and analyzed. For binary trees its worse case cost is at most 9.1% worse than the optimal cost. David Bernstein, Jeff Jaffe, Michael Rodeh |
POPL | 1 |
| 1985 | Optimal Scheduling of Arithmetic Operations in Parallel with Memory AccessesabstractWe propose a new machine model in which load operations can be performed in parallel with arithmetic operations by two separate functional units. For this model, the evaluation of expression trees is considered. An efficient algorithm to produce an optimal order of evaluation is described and analyzed. For a tree with n vertices the algorithm runs in time Ο(n log2n). If the arithmetic operations have at most two arguments, the complexity goes down to Ο(n logn). David Bernstein, Ron Y. Pinter, Michael Rodeh |
POPL | 1 |