Marc Snir

dblp:40/3047 · DBLP profile ↗
← Back
120ranked-venue papers
20as first author
12since 2021 · last 2025
0000-0002-3504-2468ORCID · verified

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

Systems, architecture and hardware · 79 · 10 first-author · 11 since 2021Theory of computation · 24 · 9 first-authorSoftware engineering, systems software and programming languages · 10 · 1 first-author · 1 since 2021Applied, interdisciplinary, general and emerging computing · 4Databases, data management, data science and information retrieval · 3 · 2 first-authorComputer networks · 2Security and privacy · 1
YearPublicationVenuePosition
2025 FleetIO: Managing Multi-Tenant Cloud Storage with Multi-Agent Reinforcement Learning
abstract
Cloud platforms have been virtualizing storage devices like flash-based solid-state drives (SSDs) to make effective use of storage resources. They enable either software-isolated instance or hardware-isolated instance for facilitating the storage sharing between multi-tenant applications. However, for decades, they have to combat the fundamental tussle between the performance isolation and resource utilization. They suffer from either long tail latency caused by weak isolation or low storage utilization caused by strong isolation.
Jinghan Sun, Benjamin Reidys, Daixuan Li, Jichuan Chang, Marc Snir, Jian Huang 0006
ASPLOS (1)5
2025 VerifyIO: Verifying Adherence to Parallel I/O Consistency Semantics
abstract
High-performance computing (HPC) applications generate and consume substantial amounts of data, typically managed by parallel file systems. These applications access file systems either through the POSIX interface or by using highlevel I/O libraries. While the POSIX consistency model remains dominant in HPC, emerging file systems and popular I/O libraries increasingly adopt alternative consistency models that relax semantics in various ways, creating significant challenges for correctness and portability. This paper addresses these challenges by proposing a trace-driven I/O consistency verification workflow, implemented in our open-source tool, VerifyIO, which collects execution traces, detects data conflicts, and verifies proper synchronization against specified consistency models. Our extensive evaluation of 91 test case executions across three widely used I/O libraries with four I/O consistency models reveals critical consistency issues at both application and implementation levels.
Chen Wang 0004, Zhaobin Zhu, Kathryn Mohror, Sarah Neuwirth, Marc Snir
IPDPS5
2025 Examining MPI and its Extensions for Asynchronous Multithreaded Communication
Jiakun Yan, Marc Snir, Yanfei Guo
EuroMPI2
2025 LCI: a Lightweight Communication Interface for Efficient Asynchronous Multithreaded Communication
abstract
The evolution of architectures, programming models, and algorithms is driving communication towards greater asynchrony and concurrency, usually in multithreaded environments. We present LCI, a communication library designed for efficient asynchronous multithreaded communication. LCI provides a concise interface that supports common point-to-point primitives and diverse completion mechanisms, along with flexible controls for incrementally fine-tuning communication resources and runtime behavior. It features a threading-efficient runtime built on atomic data structures, fine-grained non-blocking locks, and low-level network insights. We evaluate LCI on both Infiniband and Slingshot-11 clusters with microbenchmarks and two application-level benchmarks. Experimental results show that LCI significantly outperforms existing communication libraries in various multithreaded scenarios, achieving performance that exceeds the traditional multi-process execution mode and unlocking new possibilities for emerging programming models and applications. LCI is open-source and available at https://github.com/uiuc-hpc/lci.
Jiakun Yan, Marc Snir
SC2
2024 Exploring the Efficiency of Renewable Energy-based Modular Data Centers at Scale
abstract
Modular data centers (MDCs) that can be placed right at the energy farms and powered mostly by renewable energy, is a flexible and effective approach to lowering the carbon footprint of data centers. However, the main challenge of using renewable energy is the high variability of power produced, which implies large volatility in powering computing resources at MDCs, and degraded application performance due to the task evictions and migrations. This causes challenges for platform operators to decide the MDC deployment.
Jinghan Sun, Zibo Gong, Anup Agarwal, Shadi A. Noghabi, Ranveer Chandra, Marc Snir, Jian Huang 0006
SoCC6
2024 Holistic Performance Analysis for Asynchronous Many-Task Runtimes
abstract
Due to increasingly heterogeneous computing resources and complex application logic, there has been a renewed interest in Asynchronous Many-Task (AMT) computation runtimes. However, AMT scheduling is typically nondeterministic, and their task dependency graphs are complex and irregular, making it difficult to identify performance bottlenecks using current performance tools and analysis methodologies. This paper presents a new performance analysis methodology and a performance sampling tool that combines data from both computation and communication to support this methodology. The tool is integrated with the PaRSEC runtime. To illustrate the approach, the performance analysis of HiCMA, a state-of-the-art tile-based low-rank Cholesky factorization package, was conducted. The analysis identified bottlenecks in both the PaRSEC runtime and the application itself and suggested changes necessary to overcome them. After implementing the changes, there was up to a$1.45\times$speedup in time-to-solution when strong-scaling the application.
Omri Mor, George Bosilca, Marc Snir
CLUSTER3
2024 Formal Definitions and Performance Comparison of Consistency Models for Parallel File Systems
abstract
The semantics of HPC storage systems are defined by the consistency models to which they abide. Storage consistency models have been less studied than their counterparts in memory systems, with the exception of the POSIX standard and its strict consistency model. The use of POSIX consistency imposes a performance penalty that becomes more significant as the scale of parallel file systems increases and the access time to storage devices, such as node-local solid storage devices, decreases. While some efforts have been made to adopt relaxed storage consistency models, these models are often defined informally and ambiguously as by-products of a particular implementation. In this work, we establish a connection between memory consistency models and storage consistency models and revisit the key design choices of storage consistency models from a high-level perspective. Further, we propose a formal and unified framework for defining storage consistency models and a layered implementation that can be used to easily evaluate their relative performance for different I/O workloads. Finally, we conduct a comprehensive performance comparison of two relaxed consistency models on a range of commonly seen parallel I/O workloads, such as checkpoint/restart of scientific applications and random reads of deep learning applications. We demonstrate that for certain I/O scenarios, a weaker consistency model can significantly improve the I/O performance. For instance, in small random reads that are typically found in deep learning applications, session consistency achieved a 5x improvement in I/O bandwidth compared to commit consistency, even at small scales.
Chen Wang 0004, Kathryn Mohror, Marc Snir
IEEE Trans. Parallel Distributed Syst.3
2023 Improving the Scaling of an Asynchronous Many-Task Runtime with a Lightweight Communication Engine
abstract
There is a growing interest in Asynchronous Many-Task (AMT) runtimes as an efficient way to map irregular and dynamic parallel applications onto heterogeneous computing resources. In this work, we show that AMTs nonetheless struggle with communication bottlenecks when scaling computations strongly and that the design of commonly-used communication libraries such as MPI contribute to these bottlenecks. We replace MPI with LCI, a Lightweight Communication Interface that is designed for dynamic, asynchronous frameworks, as the communication layer for the PaRSEC runtime. The result is a significant reduction of end-to-end latency in communication microbenchmarks and a reduction of overall time-to-solution by up to 12% in HiCMA, a tile-based low-rank Cholesky factorization package.
Omri Mor, George Bosilca, Marc Snir
ICPP3
2023 Near-Lossless MPI Tracing and Proxy Application Autogeneration
abstract
Traces of MPI communications are used by many performance analysis and visualization tools. Storing exhaustive traces of large-scale MPI applications is infeasible, however, because of their large volume. Aggregated or lossy MPI traces are smaller but provide much less information. In this paper we present Pilgrim, a near-lossless MPI tracing tool that, by using sophisticated compression techniques, generates small trace files at large scales and incurs only moderate overheads. We perform comprehensive studies of various compression techniques used for storing timestamps associated with each call. This timing information is essential for analysis purposes such as skews study. To demonstrate the usefulness of the detailed information stored by Pilgrim, we present a proxy application generator that can generate proxy apps that preserve original communication patterns from the Pilgrim traces.
Chen Wang 0004, Yanfei Guo, Pavan Balaji, Marc Snir
IEEE Trans. Parallel Distributed Syst.4
2021 File System Semantics Requirements of HPC Applications
abstract
Most widely-deployed parallel file systems (PFSs) implement POSIX semantics, which implies sequential consistency for reads and writes. Strict adherence to POSIX semantics is known to impede performance and thus several new PFSs with relaxed consistency semantics and better performance have been introduced. Such PFSs are useful provided that applications can run correctly on a PFS with weaker semantics. While it is widely assumed that HPC applications do not require strict POSIX semantics, to our knowledge there has not been systematic work to support this assumption. In this paper, we address this gap with a categorization of the consistency semantics guarantees of PFSs and develop an algorithm to determine the consistency semantics requirements of a variety of HPC applications. We captured the I/O activity of 17 representative HPC applications and benchmarks as they performed I/O through POSIX or I/O libraries and examined the metadata operations used and their file access patterns. From this analysis, we find that 16 of the 17 applications can utilize PFSs with weaker semantics.
Chen Wang 0004, Kathryn Mohror, Marc Snir
HPDC3
2021 Pilgrim: scalable and (near) lossless MPI tracing
abstract
Traces of MPI communications are used by many performance analysis and visualization tools. Storing exhaustive traces of large scale MPI applications is infeasible, due to their large volume. Aggregated or lossy MPI traces are smaller, but provide much less information. In this paper, we present Pilgrim, a near lossless MPI tracing tool that incurs moderate overheads and generates small trace files at large scales, by using sophisticated compression techniques. Furthermore, for codes with regular communication patterns, Pilgrim can store their traces in constant space regardless of the problem size, the number of processors, and the number of iterations. In comparison with existing tools, Pilgrim preserves more information with less space in all the programs we tested.
Chen Wang 0004, Pavan Balaji, Marc Snir
SC3
2021 Pinpointing crash-consistency bugs in the HPC I/O stack: a cross-layer approach
abstract
We present ParaCrash, a testing framework for studying crash recovery in a typical HPC I/O stack, and demonstrate its use by identifying 15 new crash-consistency bugs in various parallel file systems (PFS) and I/O libraries. ParaCrash uses a "golden version" approach to test the entire HPC I/O stack: storage state after recovery from a crash is correct if it matches the state that can be achieved by a partial execution with no crashes. It supports systematic testing of a multilayered I/O stack while properly identifying the layer responsible for the bugs.
Jinghan Sun, Jian Huang 0006, Marc Snir
SC3
2020 Understanding and Finding Crash-Consistency Bugs in Parallel File Systems
Jinghan Sun, Chen Wang 0004, Jian Huang 0006, Marc Snir
HotStorage4
2019 Gluon-Async: A Bulk-Asynchronous System for Distributed and Heterogeneous Graph Analytics
abstract
Distributed graph analytics systems for CPUs, like D-Galois and Gemini, and for GPUs, like D-IrGL and Lux, use a bulk-synchronous parallel (BSP) programming and execution model. BSP permits bulk-communication and uses large messages which are supported efficiently by current message transport layers, but bulk-synchronization can exacerbate the performance impact of load imbalance because a round cannot be completed until every host has completed that round. Asynchronous distributed graph analytics systems circumvent this problem by permitting hosts to make progress at their own pace, but existing systems either use global locks and send small messages or send large messages but do not support general partitioning policies such as vertex-cuts. Consequently, they perform substantially worse than bulk-synchronous systems. Moreover, none of their programming or execution models can be easily adapted for heterogeneous devices like GPUs. In this paper, we design and implement a lock-free, non-blocking, bulk-asynchronous runtime called Gluon-Async for distributed and heterogeneous graph analytics. The runtime supports any partitioning policy and uses bulk-communication. We present the bulk-asynchronous parallel (BASP) model which allows the programmer to utilize the runtime by specifying only the abstract communication required. Applications written in this model are compared with the BSP programs written using (1) D-Galois and D-IrGL, the state-of-the-art distributed graph analytics systems (which are bulk-synchronous) for CPUs and GPUs, respectively, and (2) Lux, another (bulk-synchronous) distributed GPU graph analytical system. Our evaluation shows that programs written using BASP-style execution are on average ~1.5x faster than those in D-Galois and D-IrGL on real-world large-diameter graphs at scale. They are also on average ~12x faster than Lux. To the best of our knowledge, Gluon-Async is the first asynchronous distributed GPU graph analytics system.
Roshan Dathathri, Gurbinder Gill, Loc Hoang, Vishwesh Jatala, Keshav Pingali, V. Krishna Nandivada, Hoang-Vu Dang, Marc Snir
PACT8
2019 Characterizing and Understanding HPC Job Failures Over The 2K-Day Life of IBM BlueGene/Q System
abstract
An in-depth understanding of the failure features of HPC jobs in a supercomputer is critical to the large-scale system maintenance and improvement of the service quality for users. In this paper, we investigate the features of hundreds of thousands of jobs in one of the most powerful supercomputers, the IBM Blue Gene/Q Mira, based on 2001 days of observations with a total of over 32.44 billion core-hours. We study the impact of the system's events on the jobs' execution in order to understand the system's reliability from the perspective of jobs and users. The characterization involves a joint analysis based on multiple data sources, including the reliability, availability, and serviceability (RAS) log; job scheduling log; the log regarding each job's physical execution tasks; and the I/O behavior log. We present 22 valuable takeaways based on our in-depth analysis. For instance, 99,245 job failures are reported in the job-scheduling log, a large majority (99.4%) of which are due to user behavior (such as bugs in code, wrong configuration, or misoperations). The job failures are correlated with multiple metrics and attributes, such as users/projects and job execution structure (number of tasks, scale, and core-hours). The best-fitting distributions of a failed job's execution length (or interruption interval) include Weibull, Pareto, inverse Gaussian, and Erlang/exponential, depending on the types of errors (i.e., exit codes). The RAS events affecting job executions exhibit a high correlation with users and core-hours and have a strong locality feature. In terms of the failed jobs, our similarity-based event-filtering analysis indicates that the mean time to interruption is about 3.5 days.
Sheng Di, Hanqi Guo 0001, Eric Pershey, Marc Snir, Franck Cappello
DSN4
2019 Improving Strong-Scaling of CNN Training by Exploiting Finer-Grained Parallelism
abstract
Scaling CNN training is necessary to keep up with growing datasets and reduce training time. We also see an emerging need to handle datasets with very large samples, where memory requirements for training are large. Existing training frameworks use a data-parallel approach that partitions samples within a mini-batch, but limits to scaling the minibatch size and memory consumption makes this untenable for large samples. We describe and implement new approaches to convolution, which parallelize using spatial decomposition or a combination of sample and spatial decomposition. This introduces many performance knobs for a network, so we develop a performance model for CNNs and present a method for using it to automatically determine efficient parallelization strategies. We evaluate our algorithms with microbenchmarks and image classification with ResNet-50. Our algorithms allow us to prototype a model for a mesh-tangling dataset, where sample sizes are very large. We show that our parallelization achieves excellent strong and weak scaling and enables training for previously unreachable datasets.
Nikoli Dryden, Naoya Maruyama, Tom Benson, Tim Moon, Marc Snir, Brian Van Essen
IPDPS5
2019 Channel and filter parallelism for large-scale CNN training
abstract
Accelerating large-scale CNN training is needed to keep training times reasonable as datasets grow larger and models become more complex. Existing frameworks primarily scale using data-parallelism, but this is limited by the mini-batch size, which cannot grow arbitrarily. We introduce three algorithms that partition channel or filter data to exploit parallelism beyond the sample dimension. Further, they partition the parameters of convolutional layers, replacing global all reduces with segmented allreduces---smaller, concurrent allreduces among disjoint processor sets. These algorithms enable strong scaling, reduced communication overhead, and reduced memory pressure, enabling training of very wide CNNs.
Nikoli Dryden, Naoya Maruyama, Tim Moon, Tom Benson, Marc Snir, Brian Van Essen
SC5
2019 Automatic generation of benchmarks for I/O-intensive parallel applications
Meng Hao 0002, Weizhe Zhang, Marc Snir, Laurence T. Yang
J. Parallel Distributed Comput.4
2019 Exploring Properties and Correlations of Fatal Events in a Large-Scale HPC System
abstract
In this paper, we explore potential correlations of fatal system events for one of the most powerful supercomputers-IBM Blue Gene/Q Mira, which is deployed at Argonne National Laboratory, based on its 5-year reliability, availability, and serviceability (RAS) log. Our contribution is two-fold. (1) We design an efficient log analysis tool, namely LogAider, with a novel filtering method to effectively extract fatal events from masses of system messages that are heavily duplicated in the log. LogAider exhibits a very precise detection of temporal-correlation with a high similarity (up to 95 percent) to the ground-truth (i.e., compared to the failure records reported by the administrators). The total number of fatal events can be reduced to about 1,255 compared with originally 2.6 million duplicated fatal messages. (2) We analyze the 5-year RAS log of the MIRA system using LogAider, and summarize six important “takeaways” which can help system vendors and administrators better understand an extreme-scale system's fatal events. Specifically, we find that the distribution or proportion of the fatal system events follow a Pareto-like principle in general. The temporal correlation among fatal events is much stronger than that of warn messages and info messages, and the correlated events tend to constitute a few clusters. The mean time between fatal events (MTBFE) of the Mira system is about 1.3 days from the perspective of the system, and the MTTI is 2-4 days from the perspective of users. The most error-prone item value with respect to any key attribute appears likely in the log every 2-10 days. Weibull, Gamma, and Pearson6 are the three best-fit distributions for the fatal event intervals. The overall correlation of fatal events on the 5D torus network is not prominent, whereas the small-region locality correlation (e.g., the fatal events inside racks) is relatively strong. We believe our work will be interesting to large-scale HPC system administrators and vendors and to fault tolerance researchers, enabling them to better understand fatal events and mitigate such events accordingly.
Sheng Di, Hanqi Guo 0001, Rinku Gupta, Eric Pershey, Marc Snir, Franck Cappello
IEEE Trans. Parallel Distributed Syst.5
2018 Neural Network Based Silent Error Detector
abstract
As we move toward exascale platforms, silent data corruptions (SDC) are likely to occur more frequently. Such errors can lead to incorrect results. Attempts have been made to use generic algorithms to detect such errors. Such detectors have demonstrated high precision and recall for detecting errors, but only if they run immediately after an error has been injected. In this paper, we propose a neural network detector that can detect SDCs even multiple iterations after they were injected. We have evaluated our detector with 6 FLASH applications and 2 Mantevo mini-apps. Experiments show that our detector can detect more than 89% of SDCs with a false positive rate of less than 2%.
Chen Wang 0004, Nikoli Dryden, Franck Cappello, Marc Snir
CLUSTER4
2018 The Future of Supercomputing
abstract
For three decades, High Performance Computing has pursued one simple strategy: Platforms have been built as clusters of commodity systems, chosen for their superior cost/performance. Customization has been limited to packaging, interconnect and “glue” software. The improvements in the performance of HPC platforms have been due to the cost/performance improvements of commodity hardware predicted by Moore's Law, and to the increasing size and cost of leading supercomputers. As Moore's Law comes to an end, this approach is running out of steam. Continued performance improvements will require qualitatively different approaches. These include the use of highly heterogeneous architectures and specialized compute engines; and the aggressive use of energy saving technologies and packaging that enables high-energy densities. These changes in the underlying hardware will require significant changes in HPC software, in order to avoid the inefficiencies that occur at the multiple interfaces between software layers. Such changes may come at the expense of programmability and portability. Supercomputers will bear less similarity to mainstream computers and will become unique high-end scientific instruments.
Marc Snir
HiPC1
2018 FULT: Fast User-Level Thread Scheduling Using Bit-Vectors
abstract
This paper describes FULT, a user-level thread scheduling system that uses bit-vectors to represent runnable threads. This system is aimed at efficient support of event driven task scheduling. We show a significant reduction in the cost of signal and wait primitives, high scalability, and similar performance for task spawning and other operations, compared conventional task schedulers that use work queues.
Hoang-Vu Dang, Marc Snir
ICPP2
2018 A Lightweight Communication Runtime for Distributed Graph Analytics
abstract
Distributed-memory multi-core clusters enable in-memory processing of very large graphs with billions of nodes and edges. Recent distributed graph analytics systems have been built on top of MPI. However, communication in graph applications is very irregular, and each host exchanges different amounts of non-contiguous data with other hosts. MPI does not support such a communication pattern well, and it has limited ability to integrate communication with serialization, deserialization, and graph computation tasks. In this paper, we describe a lightweight communication runtime called LCI that supports a large number of threads on each host and avoids the semantic mismatches between the requirements of graph computations and the communication library in MPI. The implementation of LCI is informed by lessons learnt from two baseline MPI-based implementations. We have successfully integrated LCI with two state-of-the-art graph analytics systems - Gemini and Abelian. LCI improves the latency up to 3.5× for microbenchmarks compared to MPI solutions and improves the end-to-end performance of distributed graph algorithms by up to 2×.
Hoang-Vu Dang, Roshan Dathathri, Gurbinder Gill, Alex Brooks, Nikoli Dryden, Andrew Lenharth, Loc Hoang, Keshav Pingali, Marc Snir
IPDPS9
2018 Gluon: a communication-optimizing substrate for distributed heterogeneous graph analytics
abstract
This paper introduces a new approach to building distributed-memory graph analytics systems that exploits heterogeneity in processor types (CPU and GPU), partitioning policies, and programming models. The key to this approach is Gluon, a communication-optimizing substrate.
Roshan Dathathri, Gurbinder Gill, Loc Hoang, Hoang-Vu Dang, Alex Brooks, Nikoli Dryden, Marc Snir, Keshav Pingali
PLDI7
2018 Argobots: A Lightweight Low-Level Threading and Tasking Framework
abstract
In the past few decades, a number of user-level threading and tasking models have been proposed in the literature to address the shortcomings of OS-level threads, primarily with respect to cost and flexibility. Current state-of-the-art user-level threading and tasking models, however, either are too specific to applications or architectures or are not as powerful or flexible. In this paper, we present Argobots, a lightweight, low-level threading and tasking framework that is designed as a portable and performant substrate for high-level programming models or runtime systems. Argobots offers a carefully designed execution model that balances generality of functionality with providing a rich set of controls to allow specialization by end users or high-level programming models. We describe the design, implementation, and performance characterization of Argobots and present integrations with three high-level models: OpenMP, MPI, and colocated I/O services. Evaluations show that (1) Argobots, while providing richer capabilities, is competitive with existing simpler generic threading runtimes; (2) our OpenMP runtime offers more efficient interoperability capabilities than production OpenMP runtimes do; (3) when MPI interoperates with Argobots instead of Pthreads, it enjoys reduced synchronization costs and better latency-hiding capabilities; and (4) I/O services with Argobots reduce interference with colocated applications while achieving performance competitive with that of a Pthreads approach.
Abdelhalim Amer, Pavan Balaji, Cyril Bordage, George Bosilca, Alex Brooks, Philip H. Carns, Adrián Castelló 0001, Damien Genet, Thomas Hérault, Shintaro Iwasaki, Prateek Jindal, Laxmikant V. Kalé, Sriram Krishnamoorthy, Jonathan Lifflander, Huiwei Lu, Esteban Meneses, Marc Snir, Yanhua Sun, Kenjiro Taura, Pete Beckman
IEEE Trans. Parallel Distributed Syst.18
2017 LogAider: A tool for mining potential correlations of HPC log events
abstract
Today's large-scale supercomputers are producing a huge amount of log data. Exploring various potential correlations of fatal events is crucial for understanding their causality and improving the working efficiency for system administrators. To this end, we developed a toolkit, named LogAider, that can reveal three types of potential correlations: across-field, spatial, and temporal. Across-field correlation refers to the statistical correlation across fields within a log or across multiple logs based on probabilistic analysis. For analyzing the spatial correlation of events, we developed a generic, easy-to-use visualizer that can view any events queried by userson a system machine graph. LogAider can also mine spatial correlations by an optimized K-meaning clustering algorithm over a Torus network topology. It is also able to disclose the temporal correlations (or error propagations) over a certain period inside a log or across multiple logs, based on an effective similarity analysis strategy. We assessed LogAider using theone-year reliability-availability-serviceability (RAS) log of Mira system (one of the world's most powerful supercomputers), as well as its job log. We find that LogAider very helpful for revealing the potential correlations of fatal system events and job events, with an accurate mining of across-field correlation with both precision and recall of 99.9-100%, as well as precisedetection of temporal-correlation with a high similarity (up to 95%) to the ground-truth.
Sheng Di, Rinku Gupta, Marc Snir, Eric Pershey, Franck Cappello
CCGrid3
2017 Towards a More Complete Understanding of SDC Propagation
abstract
With the rate of errors that can silently effect an application's state/output expected to increase on future HPC machines, numerous application-level detection and recovery schemes have been proposed. Recovery is more efficient when errors are contained and affect only part of the computation's state. Containment is usually achieved by verifying all information leaking out of a statically defined containment domain, which is an expensive procedure. Alternatively, error propagation can be analyzed to bound the domain that is affected by a detected error. This paper investigates how silent data corruption (SDC) due to soft errors propagates through three HPC applications: HPCCG, Jacobi, and CoMD. To allow for more detailed view of error propagation, the paper tracks propagation at the instruction and application variable level. The impact of detection latency on error propagation is shown along with an application's ability to recover. Finally, the impact of compiler optimizations are explored along with the impact of local problem size on error propagation.
Jon Calhoun 0001, Marc Snir, Luke N. Olson, William Gropp
HPDC2
2017 Eliminating contention bottlenecks in multithreaded MPI
Hoang-Vu Dang, Marc Snir, William Gropp
Parallel Comput.2
2016 Reducing Waste in Extreme Scale Systems through Introspective Analysis
abstract
Resilience is an important challenge for extreme-scale supercomputers. Today, failures in supercomputers are assumed to be uniformly distributed in time. However, recent studies show that failures in high-performance computing systems are partially correlated in time, generating periods of higher failure density. Our study of the failure logs of multiple supercomputers show that periods of higher failure density occur with up to three times more than the average. We design a monitoring system that listens to hardware events and forwards important events to the runtime to detect those regime changes. We implement a runtime capable of receiving notifications and adapt dynamically. In addition, we build an analytical model to predict the gains that such dynamic approach could achieve. We demonstrate that in some systems, our approach can reduce the wasted time by over 30%.
Leonardo Arturo Bautista-Gomez, Ana Gainaru, Swann Perarnau, Devesh Tiwari, Saurabh Gupta 0002, Christian Engelmann, Franck Cappello, Marc Snir
IPDPS8
2016 Towards millions of communicating threads
abstract
We explore in this paper the advantages that accrue from avoiding the use of wildcards in MPI. We show that, with this change, one can efficiently support millions of concurrently communicating light-weight threads using send-receive communication.
Hoang-Vu Dang, Marc Snir, William Gropp
EuroMPI2
2015 Dynamic Model-Driven Parallel I/O Performance Tuning
abstract
Parallel I/O performance depends highly on the interactions among multiple layers of the parallel I/O stack. The most common layers include high-level I/O libraries, MPI-IO middleware, and parallel file system. Each of these layers offers various tunable parameters to control intermediary data transfer points and the final data layout. Due to the interdependencies and the number of combinations of parameters, finding a good set of parameter values for a specific application's I/O pattern is challenging. Recent efforts, such as autotuning with genetic algorithms (GAs) and analytical models, have several limitations. For instance, analytical models fail to capture the dynamic nature of shared supercomputing systems and are application-specific. GA-based tuning requires running many time-consuming experiments for each input size. In this paper, we present a strategy to generate automatically an empirical model for a given application pattern. Using a set of real measurements from running an I/O kernel as training set, we generate a nonlinear regression model. We use this model to predict the top-20 tunable parameter values that give efficient I/O performance and rerun the I/O kernel to select the best set of parameter under the current conditions as tunable parameters for future runs of the same I/O kernel. Using this approach, we demonstrate 6X - 94X speedup over default I/O time for different I/O kernels running on multiple HPC systems. We also evaluate performance by identifying interdependencies among different sets of tunable parameters.
Babak Behzad, Surendra Byna, Stefan M. Wild, Prabhat, Marc Snir
CLUSTER5
2015 Understanding the Propagation of Error Due to a Silent Data Corruption in a Sparse Matrix Vector Multiply
abstract
With the rate of errors that silently effect an application's state/output expected to increase in future HPC machines, numerous mitigation schemes have been proposed, but little work has been done investigating why these schemes detect some error while other is masked. This paper investigates how silent data corruption (SDC) propagates through a sparse matrix vector multiply (SpMV), a fundamental HPC computation kernel. We discover that analyzing the mathematics of the SpMV limits understanding of SDC propagation. We achieve a more complete understanding by investigating how SDC propagates in a SpMV as it is expressed in machine instructions.
Jon Calhoun 0001, Marc Snir, Luke N. Olson, María Jesús Garzarán
CLUSTER2
2015 Distributed Monitoring and Management of Exascale Systems in the Argo Project
Swann Perarnau, Rajeev Thakur, Kamil Iskra, Kenneth Raffenetti, Franck Cappello, Rinku Gupta, Pete Beckman, Marc Snir, Henry Hoffmann, Martin Schulz 0001, Barry Rountree
DAIS8
2015 Scheduling the I/O of HPC Applications Under Congestion
abstract
A significant percentage of the computing capacity of large-scale platforms is wasted because of interferences incurred by multiple applications that access a shared parallel file system concurrently. One solution to handling I/O bursts enlarge-scale HPC systems is to absorb them at an intermediate storage layer consisting of burst buffers. However, our analysis of the Argonne's Mira system shows that burst buffers cannot prevent congestion at all times. Consequently, I/O performances dramatically degraded, showing in some cases a decrease in I/O throughput of 67%. In this paper, we analyze the effects of interference on application I/O bandwidth and propose several scheduling techniques to mitigate congestion. We show through extensive experiments that our global I/O scheduler is able to reduce the effects of congestion, even on systems where burst buffers are used, and can increase the overall system throughput up to 56%. We also show that it outperforms current Mira I/O schedulers.
Ana Gainaru, Guillaume Pallez, Anne Benoit, Franck Cappello, Yves Robert, Marc Snir
IPDPS6
2015 Design of a Multithreaded Barnes-Hut Algorithm for Multicore Clusters
abstract
We describe in this paper an implementation of the Barnes-Hut algorithm on multicore clusters. Based on a partitioned global address space (PGAS) library, the design integrates intranode multithreading and internode one-sided communication, exemplifying a PGAS + X programming style. Within a node, the computation is decomposed into tasks (subtasks) and multitasking is used to hide network latency. We study the tradeoffs between locality in private caches and locality in shared caches and bring the insights into the design. As a result, our implementation consumes less memory per core, invokes less internode communication, and enjoys better load-balancing strategies. The final code achieves up to 41 percent performance improvement over a non-multithreaded counterpart. Through detailed comparison, we also show its advantages over other well-known Barnes-Hut implementations, both in programming complexity and in performance.
Junchao Zhang 0002, Babak Behzad, Marc Snir
IEEE Trans. Parallel Distributed Syst.3
2014 Improving parallel I/O autotuning with performance modeling
abstract
Various layers of the parallel I/O subsystem offer tunable parameters for improving I/O performance on large-scale computers. However, searching through a large parameter space is challenging. We are working towards an autotuning framework for determining the parallel I/O parameters that can achieve good I/O performance for different data write patterns. In this paper, we characterize parallel I/O and discuss the development of predictive models for use in effectively reducing the parameter space. Applying our technique on tuning an I/O kernel derived from a large-scale simulation code shows that the search time can be reduced from 12 hours to 2 hours, while achieving 54X I/O performance speedup.
Babak Behzad, Surendra Byna, Stefan M. Wild, Prabhat, Marc Snir
HPDC5
2014 The future of supercomputing
abstract
For over two decades, supercomputing evolved in a relatively straightforward manner: Supercomputers were assembled out of commodity microprocessors and leveraged their exponential increase in performance, due to Moore's Law. This simple model has been under stress since clock speed stopped growing a decade ago: Increased performance has required a commensurate increase in the number of concurrent threads. The evolution of device technology is likely to be even less favorable in the coming decade: The growth in CMOS performance is nearing its end, and no alternative technology is ready to replace CMOS. The continued shrinking of device size requires increasingly expensive technologies, and may not lead to improvements in cost/performance ratio; at which point, it ceases to make sense for commodity technology. These obstacles need not imply stagnation in supercomputer performance. In the long run, new computing models will come to the rescue. In the short run, more exotic, non-commodity device technologies can provide two or more orders of magnitude improvements in performance. Finally, better hardware and software architectures can significantly increase the efficiency of scientific computing platforms. While continued progress is possible, it will require a significant international research effort and major investments in future large-scale "computational instruments".
Marc Snir
ICS1
2013 Programming Models for High-Performance Computing
abstract
The first version of the MPI standard was released in November 1993. At the time, many of the authors of this standard, myself included, viewed MPI as a temporary solution, to be used until it is replaced by a good programming language for distributed memory systems. Almost twenty years later, MPI is the main programming model for High-Performance Computing, and practically all HPC applications use MPI, which is now in its third generation; nobody expects MPI to disappear in the coming decade. On the other hand, attempts to replace MPI with languages, such as High-Performance-Fortran, failed. Current attempts (UPC, Fortran, X10, Chapel, etc.) face major obstacles and seem unlikely to replace MPI. The talk will discuss some plausible reasons for this situation. These include: 1. Design issues with the various proposed languages: Namely, a few key things that MPI got right and most potential alternatives got wrong 2. Lack of compelling motivation, so far, for switching programming environments 3. The economic and social constraints of High-Performance Computing 4. The large volume of "legacy" MPI code We shall next discuss the implications of this situation for research on new programming models for High-Performance Computing.
Marc Snir
CCGRID1
2013 NUMA-aware shared-memory collective communication for MPI
Shigang Li 0002, Torsten Hoefler, Marc Snir
HPDC3
2013 Programming models for extreme-scale computing
abstract
The first version of the MPI standard was released in November 1993. At the time, many of the authors of this standard, myself included, viewed MPI as a temporary solution, to be used until it is replaced by a good programming language for distributed memory systems. Almost twenty years later, MPI is the main programming model for High-Performance Computing, and practically all HPC applications use MPI, which is now in its third generation; nobody expects MPI to disappear in the coming decade. The talk will discuss some plausible reasons for this situation, and the implications for research on new programming models for Extreme-Scale Computing.
Marc Snir
PODC1
2013 Enabling MPI interoperability through flexible communication endpoints
abstract
The current MPI model defines a one-to-one relationship between MPI processes and MPI ranks. This model captures many use cases effectively, such as one MPI process per core and one MPI process per node. However, this semantic has limited interoperability between MPI and other programming models that use threads within a node. In this paper, we describe an extension to MPI that introduces communication endpoints as a means to relax the one-to-one relationship between processes and threads. Endpoints enable a greater degree interoperability between MPI and other programming models, and we illustrate their potential for additional performance and computation management benefits through the decoupling of ranks from processes.
James Dinan, Pavan Balaji, David Goodell, Douglas Miller, Marc Snir, Rajeev Thakur
EuroMPI5
2013 Taming parallel I/O complexity with auto-tuning
abstract
We present an auto-tuning system for optimizing I/O performance of HDF5 applications and demonstrate its value across platforms, applications, and at scale. The system uses a genetic algorithm to search a large space of tunable parameters and to identify effective settings at all layers of the parallel I/O stack. The parameter settings are applied transparently by the auto-tuning system via dynamically intercepted HDF5 calls.
Babak Behzad, Huong Luu 0002, Joey Huchette, Surendra Byna, Prabhat, Ruth A. Aydt, Quincey Koziol, Marc Snir
SC8
2012 Damaris: How to Efficiently Leverage Multicore Parallelism to Achieve Scalable, Jitter-free I/O
abstract
With exascale computing on the horizon, the performance variability of I/O systems represents a key challenge in sustaining high performance. In many HPC applications, I/O is concurrently performed by all processes, which leads to I/O bursts. This causes resource contention and substantial variability of I/O performance, which significantly impacts the overall application performance and, most importantly, its predictability over time. In this paper, we propose a new approach to I/O, called Damaris, which leverages dedicated I/O cores on each multicore SMP node, along with the use of shared-memory, to efficiently perform asynchronous data processing and I/O in order to hide this variability. We evaluate our approach on three different platforms including the Kraken Cray XT5 supercomputer (ranked 11th in Top500), with the CM1 atmospheric model, one of the target HPC applications for the Blue Waters postpetascale supercomputer project. By overlapping I/O with computation and by gathering data into large files while avoiding synchronization between cores, our solution brings several benefits: 1) it fully hides jitter as well as all I/O-related costs, which makes simulation performance predictable, 2) it increases the sustained write throughput by a factor of 15 compared to standard approaches, 3) it allows almost perfect scalability of the simulation up to over 9,000 cores, as opposed to state-of-the-art approaches which fail to scale, 4) it enables a 600% compression ratio without any additional overhead, leading to a major reduction of storage requirements.
Matthieu Dorier, Gabriel Antoniu, Franck Cappello, Marc Snir, Leigh Orf
CLUSTER4
2012 HydEE: Failure Containment without Event Logging for Large Scale Send-Deterministic MPI Applications
abstract
High performance computing will probably reach exascale in this decade. At this scale, mean time between failures is expected to be a few hours. Existing fault tolerant protocols for message passing applications will not be efficient anymore since they either require a global restart after a failure (check pointing protocols) or result in huge memory occupation (message logging). Hybrid fault tolerant protocols overcome these limits by dividing applications processes into clusters and applying a different protocol within and between clusters. Combining coordinated check pointing inside the clusters and message logging for the inter-cluster messages allows confining the consequences of a failure to a single cluster, while logging only a subset of the messages. However, in existing hybrid protocols, event logging is required for all application messages to ensure a correct execution after a failure. This can significantly impair failure free performance. In this paper, we propose HydEE, a hybrid rollback-recovery protocol for send-deterministic message passing applications, that provides failure containment without logging any event, and only a subset of the application messages. We prove that HydEE can handle multiple concurrent failures by relying on the send-deterministic execution model. Experimental evaluations of our implementation of HydEE in the MPICH2 library show that it introduces almost no overhead on failure free execution.
Amina Guermouche, Thomas Ropars, Marc Snir, Franck Cappello
IPDPS3
2012 Automatic datatype generation and optimization
abstract
Many high performance applications spend considerable time packing noncontiguous data into contiguous communication buffers. MPI Datatypes provide an alternative by describing noncontiguous data layouts. This allows sophisticated hardware to retrieve data directly from application data structures. However, packing codes in real-world applications are often complex and specifying equivalent datatypes is difficult, time-consuming, and error prone. We present an algorithm that automates the transformation. We have implemented the algorithm in a tool that transforms packing code to MPI Datatypes, and evaluated it by transforming 90 packing codes from the NAS Parallel Benchmarks. The transformation allows easy porting of applications to new machines that benefit from datatypes, thus improving programmer productivity.
Fredrik Kjolstad, Torsten Hoefler, Marc Snir
PPoPP3
2012 Fault prediction under the microscope: a closer look into HPC systems
Ana Gainaru, Franck Cappello, Marc Snir, William T. Kramer
SC3
2011 Comparing archival policies for Blue Waters
abstract
This paper introduces two new tape archival policies that can improve tape archive performance in certain regimes, compared to the classical RAIT (Redundant Array of Independent Tapes) policy. The first policy, PARALLEL, still requires as many parallel tape drives as RAIT but pre-computes large data stripes that are written contiguously on tapes to increase write/read performance. The second policy, VERTICAL, writes contiguous data into a single tape, while updating error correcting information on the fly and delaying its archival until enough data has been archived. This second approach reduces the number of tape drives used for every user request to one. The performance of the three RAIT, PARALLEL and VE RTICAL policies is assessed through extensive simulations, using a hardware configuration and a distribution of I/O requests similar to these expected on the Blue Waters system. These simulations show that VERTICAL is the most suitable policy for small files, whereas PARALLEL must be used for files larger than 1 GB. We also demonstrate that RAIT never outperforms both proposed policies, and that a heterogeneous policies mixing VERTICAL and PARALLEL performs 10 times better than any other policy.
Franck Cappello, Mathias Jacquelin, Loris Marchal, Yves Robert, Marc Snir
HiPC5
2011 Generic topology mapping strategies for large-scale parallel architectures
abstract
The steadily increasing number of nodes in high-performance computing systems and the technology and power constraints lead to sparse network topologies. Efficient mapping of application communication patterns to the network topology gains importance as systems grow to petascale and beyond. Such mapping is supported in parallel programming frameworks such as MPI, but is often not well implemented. We show that the topology mapping problem is NP-complete and analyze and compare different practical topology mapping heuristics. We demonstrate an efficient and fast new heuristic which is based on graph similarity and show its utility with application communication patterns on real topologies. Our mapping strategies support heterogeneous networks and show significant reduction of congestion on torus, fat-tree, and the PERCS network topologies, for irregular communication patterns. We also demonstrate that the benefit of topology mapping grows with the network size and show how our algorithms can be used in a practical setting to optimize communication performance. Our efficient topology mapping strategies are shown to reduce network congestion by up to 80%, reduce average dilation by up to 50%, and improve benchmarked communication performance by 18%.
Torsten Hoefler, Marc Snir
ICS2
2011 Transformation for class immutability
abstract
It is common for object-oriented programs to have both mutable and immutable classes. Immutable classes simplify programing because the programmer does not have to reason about side-effects. Sometimes programmers write immutable classes from scratch, other times they transform mutable into immutable classes. To transform a mutable class, programmers must find all methods that mutate its transitive state and all objects that can enter or escape the state of the class. The analyses are non-trivial and the rewriting is tedious. Fortunately, this can be automated.
Fredrik Kjolstad, Danny Dig, Gabriel Acevedo, Marc Snir
ICSE4
2011 Uncoordinated Checkpointing Without Domino Effect for Send-Deterministic MPI Applications
abstract
As reported by many recent studies, the mean time between failures of future post-petascale supercomputers is likely to reduce, compared to the current situation. The most popular fault tolerance approach for MPI applications on HPC Platforms relies on coordinated check pointing which raises two major issues: a) global restart wastes energy since all processes are forced to rollback even in the case of a single failure, b) checkpoint coordination may slow down the application execution because of congestions on I/O resources. Alternative approaches based on uncoordinated check pointing and message logging require logging all messages, imposing a high memory/storage occupation and a significant overhead on communications. It has recently been observed that many MPI HPC applications are send-deterministic, allowing to design new fault tolerance protocols. In this paper, we propose an uncoordinated check pointing protocol for send-deterministic MPI HPC applications that (i) logs only a subset of the application messages and (ii) does not require to restart systematically all processes when a failure occurs. We first describe our protocol and prove its correctness. Through experimental evaluations, we show that its implementation in MPICH2 has a negligible overhead on application performance. Then we perform a quantitative evaluation of the properties of our protocol using the NAS Benchmarks. Using a clustering approach, we demonstrate that this protocol actually succeeds to combine the two expected properties: a) it logs only a small fraction of the messages and b) it reduces by a factor approaching 2 the average number of processes to rollback compared to coordinated check pointing.
Amina Guermouche, Thomas Ropars, Elisabeth Brunet, Marc Snir, Franck Cappello
IPDPS4
2011 Writing Parallel Libraries with MPI - Common Practice, Issues, and Extensions
Torsten Hoefler, Marc Snir
EuroMPI2
2011 Optimizing the Barnes-Hut algorithm in UPC
abstract
PGAS languages' support of a global name space facilitates the expression of parallel algorithms, since communication is implicit. This is especially convenient when writing irregular applications with data-dependent, dynamically changing communication patterns. However, programming in a shared memory style, with no explicit control of communication, may result in poor performance. The problem may be due to weaknesses of current implementations of PGAS languages or limitations inherent in these languages. To clarify which is the case, we discuss an implementation in UPC of the Barnes-Hut algorithm. A literal port of a good quality shared-memory implementation (merely replacing shared arrays with partitioned global arrays) achieves abysmal performance -- more than 1000 times worse than a message-passing implementation. We achieve in UPC a performance comparable to message-passing with a series of optimizations. Most of these optimizations could be performed with limited changes in the source code using an enhanced run-time and a few language extensions or pragmas. We discuss the implications to the programmer, the compiler and PGAS languages themselves.
Junchao Zhang 0002, Babak Behzad, Marc Snir
SC3
2010 On Communication Determinism in Parallel HPC Applications
abstract
Current fault tolerant protocols for high performance computing parallel applications have two major drawbacks: either they require to restart all processes even in the case of only a single process failure or they have a high performance overhead in fault free situation. As a consequence none of existing generic fault tolerant protocols matches needs of HPC applications and surprisingly, there is no fault tolerant protocol dedicated to them. One way to design better fault tolerant protocols for HPC applications is to explore and take advantage of their specific characteristics. In particular we suspect that most of them present some form of determinism in communication patterns. Communication determinism can play an important role in the design of new fault tolerant protocols by reducing their complexity. In this paper, we explore the communication determinism in 27 HPC parallel applications that are representative of production workloads in large scale centers. We show that most of these applications have deterministic or send-deterministic communication patterns.
Franck Cappello, Amina Guermouche, Marc Snir
ICCCN3
2009 ESoftCheck: Removal of Non-vital Checks for Fault Tolerance
abstract
As semiconductor technology scales into the deep submicron regime the occurrence of transient or soft errors will increase. This will require new approaches to error detection. Software checking approaches are attractive because they require little hardware modification and can be easily adjusted to fit different reliability and performance requirements. Unfortunately, software checking adds a significant performance overhead. In this paper we present ESoftCheck, a set of compiler optimization techniques to determine which are the vital checks, that is, the minimum number of checks that are necessary to detect an error and roll back to a correct program state. ESoftCheck identifies the vital checks on platforms where registers are hardware-protected with parity or ECC, when there are redundant checks and when checks appear in loops. ESoftCheck also provides knobs to trade reliability for performance based on the support for recovery and the degree of trustiness of the operations. Our experimental results on a Pentium 4 show that ESoftCheck can obtain 27.1% performance improvement without losing fault coverage.
Jing Yu 0015, María Jesús Garzarán, Marc Snir
CGO3
2009 Universal parallel computing research center at Illinois
Marc Snir
Hot Chips Symposium1
2008 Efficient software checking for fault tolerance
abstract
Dramatic increases in the number of transistors that can be integrated on a chip make processors more susceptible to radiation-induced transient errors. For commodity chips which are cost- and energy-constrained, software approaches can play a major role for fault detection because they can be tailored to fit different requirements of reliability and performance. However, software approaches add a significant performance overhead because they replicate the instructions and add checking instructions to compare the results. In order to make software checking approaches more attractive, we use compiler techniqes to identify the "unnecessary" replicas and checking instructions. In this paper, we present three techniques. The first technique uses boolean logic to identify code patterns that correspond to outcome tolerant branches. The second technique identifies address checks before loads and stores that can be removed with different degrees of fault coverage. The third technique identifies the checking instructions and shadow registers that are unnecessary when the register file is protected in hardware. By combining the three techniques, the overheads of software approaches can be reduced by an average 50%.
Jing Yu 0015, María Jesús Garzarán, Marc Snir
IPDPS3
2007 Programming Patterns for Architecture-Level Software Optimizations on Frequent Pattern Mining
abstract
One very important application in the data mining domain is frequent pattern mining. Various authors have worked on improving the efficiency of this computation, mostly focusing on algorithm-level improvement. More recent work has explored architecture specific optimizations of this computation. Our goal in this paper is to provide a systematic approach to architecture-level software optimizations by identifying applicable tuning patterns. We show the generality and effectiveness of these patterns by tuning several frequent pattern mining algorithms and showing significant performance improvements.
Mingliang Wei, Changhao Jiang, Marc Snir
ICDE3
2004 A Note on N-Body Computations with Cutoffs
Marc Snir
Theory Comput. Syst.1
2003 Best Papers from the 2002 International Parallel and Distributed Processing Symposium
Marc Snir
J. Parallel Distributed Comput.1
2001 Demonstrating the scalability of a molecular dynamics application on a Petaflop computer
abstract
The IBM Blue Gene project has endeavored into the development of a cellular architecture computer with millions of concurrent threads of execution. One of the major challenges of this project is demonstrating that applications can successfully exploit this massive amount of parallelism. Starting from the sequential version of a well known molecular dynamics code, we developed a new application that exploits the multiple levels of parallelism in the Blue Gene cellular architecture. We perform both analytical and simulation studies of the behavior of this application when executed on a very large number of threads. As a result, we demonstrate that this class of applications can execute efficiently on a large cellular machine.
George S. Almási, Calin Cascaval, José G. Castaños, Monty Denneau, Wilm E. Donath, Maria Eleftheriou, Mark Giampapa, C. T. Howard Ho, Derek Lieber, José E. Moreira, Dennis M. Newns, Marc Snir, Henry S. Warren Jr.
ICS12
2001 What Are the Top Ten Most Influential Parallel and Distributed Processing Concepts of the Past Millenium?
Mitchell D. Theys, Shoukat Ali, Howard Jay Siegel, K. Mani Chandy, Kai Hwang 0001, Ken Kennedy, Lui Sha, Kang G. Shin, Marc Snir, Lawrence Snyder 0001, Thomas L. Sterling
J. Parallel Distributed Comput.9
2001 Generalized Communicators in the Message Passing Interface
abstract
We propose extensions to the message passing interface (MPI) that generalize the MPI communicator concept to allow multiple communication endpoints per process, dynamic creation of endpoints, and the transfer of endpoints between processes. The generalized communicator construct can be used to express a wide range of interesting communication structures, including collective communication operations involving multiple threads per process, communications between dynamically created threads or processes, and object-oriented applications in which communications are directed to specific objects. Furthermore, this enriched functionality can be provided in a manner that preserves backward compatibility with MPI. We describe the proposed extensions, illustrate their use with examples, and describe a prototype implementation in the popular MPI implementation MPICH.
Erik D. Demaine, Ian T. Foster, Carl Kesselman, Marc Snir
IEEE Trans. Parallel Distributed Syst.4
2000 From Trace Generation to Visualization: A Performance Framework for Distributed Parallel Systems
abstract
In this paper we describe a trace analysis framework, from trace generation to visualization. It includes a unified tracing facility on IBMâ SPä systems, a self-defining interval file format, an API for framework extensions, utilities for merging and statistics generation, and a visualization tool with preview and multiple time-space diagrams. The trace environment is extremely scalable, and combines MPI events with system activities in the same set of trace files, one for each SMP node. Since the amount of trace data may be very large, utilities are developed to convert and merge individual trace files into a self-defining interval trace file with multiple frame directories. The interval format allows the development of multiple time-space diagrams, such as thread-activity view, processor-activity view, etc., from the same interval file. A visualization tool, Jumpshot, is modified to visualize these views. A statistics utility is developed using the API, along with its graphics viewer.
Ching-Farn Eric Wu, Anthony Bolmarcich, Marc Snir, David Wootton, Farid Parpia, Ewing L. Lusk, William Gropp
SC3
1998 PRISM: An Integrated Architecture for Scalable Shared Memory
abstract
This paper describes PRISM, a distributed shared memory architecture that relies on a tightly integrated hardware and operating system design for scalable and reliable performance. PRISM's hardware provides mechanisms for flexible management and dynamic configuration of shared memory pages with different behaviors. As an example, PRISM can configure individual shared memory pages in both CC-NUMA and Simple-COMA styles, maintaining the advantages of both without incorporating any of their disadvantages. PRISM's operating system is structured as multiple independent kernels, where each kernel manages the resources on its local node. PRISM's system structure minimizes the amount of global coordination when managing shared memory. Page faults do not involve global TLB invalidates, and pages can be replicated and migrated without requiring global coordination. The structure also provides natural fault containment boundaries around each node because physical addresses do not address remote memory directly. We simulate PRISM's hardware, cache coherence protocol and memory management algorithms. Results from SPLASH applications on the simulated machine demonstrate a tradeoff between CC-NUMA and Simple-COMA styles of memory management. Adaptive, run-time policies that take advantage of PRISM's ability to dynamically configure shared memory pages with different behaviors significantly outperform pure CC-NUMA or Simple-COMA configurations and are usually within 10% of optimal performance.
Kattamuri Ekanadham, Beng-Hong Lim, Pratap Pattnaik, Marc Snir
HPCA4
1997 Message Proxies for Efficient, Protected Communication on SMP Clusters
abstract
This research addresses the problem of providing efficient, protected communication in an SMP cluster without incurring the overhead of system calls or the cost of custom hardware. It analyzes an approach that uses an idle SMP processor to run a message proxy, a communication process that provides protected access to the network. We implement message proxy based communication between a pair of IBM Model G30 SMPs and analyze the resulting overheads. We derive a performance model that shows that cache-miss latency within an SMP influences message proxy performance significantly. Simulations of a suite of ten parallel applications demonstrate that message proxies match the performance of custom hardware for three of the ten applications, and are between 10-30% slower for the other seven applications. A direct cache-update mechanism to reduce cache misses improves the performance of message proxies on communication-intensive programs by 7-25%. We conclude that message proxies provide a viable alternative to custom hardware for protected communication.
Beng-Hong Lim, Philip Heidelberger, Pratap Pattnaik, Marc Snir
HPCA4
1996 Randomized Routing with Shorter Paths
abstract
Studies the use of randomized routing in multistage networks. While log N additional randomizing stages are needed to break "spatial locality", within each permutation, only log log N additional randomizing stages are needed to break "temporal locality" among successive permutations. Thus, log N bits of initial randomization per input, followed by log log N bits of randomization per packet are sufficient to ensure that t permutations are delivered in time t+log N. We present simulation results that validate this analysis.
Eli Upfal, Sergio A. Felperin, Marc Snir
IEEE Trans. Parallel Distributed Syst.3
1995 MPI Programming Environment for IBM SP1/SP2
abstract
In this paper we discuss an implementation of the message passing interface standard (MPI) for the IBM Scalable Power PARALLEL 1 and 2 (SP1, SP2). Key to a reliable and efficient implementation of a message passing library on these machines is the careful design of a UNIX-Socket like layer in the user space with controlled access to the communication adapters and with adequate recovery and flow control. The performance of this implementation is at the same level as the IBM-proprietary message passing library (MPL). We also show that in the IBM SP1 and SP2 we achieve integrated tracing ability, where both system events, such as context switches and page fault etc., and MPI related activities are traced, with minimal overhead to the application program, thus presenting application programmers the trace of all the events that ultimately affect efficiency of a parallel program.
Hubertus Franke, Ching-Farn Eric Wu, Michel Riviere, Pratap Pattnaik, Marc Snir
ICDCS5
1995 CCL: A Portable and Tunable Collective Communication Library for Scalable Parallel Computers
abstract
A collective communication library for parallel computers includes frequently used operations such as broadcast, reduce, scatter, gather, concatenate, synchronize, and shift. Such a library provides users with a convenient programming interface, efficient communication operations, and the advantage of portability. A library of this nature, the Collective Communication Library (CCL), intended for the line of scalable parallel computer products by IBM, has been designed. CCL is part of the parallel application programming interface of the recently announced IBM 9076 Scalable POWERparallel System 1 (SP1). In this paper, we examine several issues related to the functionality, correctness, and performance of a portable collective communication library while focusing on three novel aspects in the design and implementation of CCL: 1) the introduction of process groups, 2) the definition of semantics that ensures correctness, and 3) the design of new and tunable algorithms based on a realistic point-to-point communication model.>
Vasanth Bala, Jehoshua Bruck, Robert Cypher, Pablo Elustondo, Alex Ho, C. T. Howard Ho, Shlomo Kipnis, Marc Snir
IEEE Trans. Parallel Distributed Syst.8
1994 MPI-F: An Efficient Implementation of MPI on IBM-SP1
abstract
This article introduces MPI-F an efficient implementation of MPI on the IBM-SP1 distributed memory cluster. After discussing the novel and key concepts of MPI and how they relate to an implementation, the MPI-F system architecture is outlined in detail. Although many incorrectly assume that MPI will not be efficient due to its increased functionality, MPI-F performance demonstrates efficiency as good as the best message passing library currently available on the SP1.
Hubertus Franke, Peter Hochschild, Pratap Pattnaik, Marc Snir
ICPP (3)4
1994 Calling Names on Nameless Networks
Baruch Schieber, Marc Snir
Inf. Comput.2
1994 The IBM External User Interface for Scalable Parallel Systems
Vasanth Bala, Jehoshua Bruck, Raymond Bryant, Robert Cypher, Peter de Jong, Pablo Elustondo, Daniel D. Frye, Alex Ho, C. T. Howard Ho, Gail Irwin, Shlomo Kipnis, Richard D. Lawrence, Marc Snir
Parallel Comput.13
1993 Issues and Directions in Scalable Parallel Computing
abstract
Article Free Access Share on Issues and directions in scalable parallel computing Author: Marc Snir View Profile Authors Info & Claims PODC '93: Proceedings of the twelfth annual ACM symposium on Principles of distributed computingSeptember 1993 Pages 21–28https://doi.org/10.1145/164051.164054Published:01 September 1993Publication History 3citation327DownloadsMetricsTotal Citations3Total Downloads327Last 12 Months3Last 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 SiteeReaderPDF
Marc Snir
PODC1
1993 Computer Architectures and Programming Models for Scalable Parallel Computing
abstract
No abstract available.
Marc Snir
POPL1
1993 Scalable Parallel Computing: The IBM 9076 Scalable POWERparallel 1
abstract
No abstract available.
Marc Snir
SPAA1
1993 Randomized routing with shorter paths
abstract
Article Hot-potato routing on processor arrays Share on Authors: Christos Kaklamanis DIMACS Center Rutgers University Piscataway, NJ DIMACS Center Rutgers University Piscataway, NJView Profile , Danny Krizanc School of Computer Science Carleton University Ottawa, Ontario K1S 5B6 School of Computer Science Carleton University Ottawa, Ontario K1S 5B6View Profile , Satish Rao NEC Research Institute, 4 Independence Way, Princeton, NJ NEC Research Institute, 4 Independence Way, Princeton, NJView Profile Authors Info & Claims SPAA '93: Proceedings of the fifth annual ACM symposium on Parallel Algorithms and ArchitecturesAugust 1993 Pages 273–282https://doi.org/10.1145/165231.376321Online:01 August 1993Publication History 34citation295DownloadsMetricsTotal Citations34Total Downloads295Last 12 Months2Last 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
Eli Upfal, Sergio A. Felperin, Marc Snir
SPAA3
1993 Random Walks on Weighted Graphs and Applications to On-line Algorithms
abstract
The design and analysis of randomized on-line algorithms are studied.This problem is shown to be closely related to the synthesis of random wdlks on graphs with positive real costs on their edges.A theory is developed for the synthesis of such wdlks, and it is employed to design competitive on-line algorithms.
Don Coppersmith, Peter Doyle, Prabhakar Raghavan, Marc Snir
J. ACM4
1992 Cost-Performance Tradeoffs for Interconnection Networks
Clyde P. Kruskal, Marc Snir
Discret. Appl. Math.2
1991 Size-depth Trade-Offs for Monotone Arithmetic Circuits
Marc Snir
Theor. Comput. Sci.1
1990 Random Walks on Weighted Graphs, and Applications to On-line Algorithms (Preliminary Version)
abstract
We study the design and analysis of randomized on-line algorithms.We show that this problem is closely related to the synthesis of random walks on graphs with positive real costs on their edges.
Don Coppersmith, Peter Doyle, Prabhakar Raghavan, Marc Snir
STOC4
1990 Efficient Parallel Algorithms for Graph Problems
Clyde P. Kruskal, Larry Rudolph, Marc Snir
Algorithmica3
1990 Communication Complexity of PRAMs
Alok Aggarwal, Ashok K. Chandra, Marc Snir
Theor. Comput. Sci.3
1990 A Complexity Theory of Efficient Parallel Algorithms
Clyde P. Kruskal, Larry Rudolph, Marc Snir
Theor. Comput. Sci.3
1989 Memory Versus Randomization in On-line Algorithms (Extended Abstract)
Prabhakar Raghavan, Marc Snir
ICALP2
1989 On Communication Latency in PRAM Computations
Alok Aggarwal, Ashok K. Chandra, Marc Snir
SPAA3
1989 Cost-Bandwidth Tradeoffs for Communication Networks
Clyde P. Kruskal, Marc Snir
SPAA2
1989 Techniques for Parallel Manipulation of Sparse Matrices
Clyde P. Kruskal, Larry Rudolph, Marc Snir
Theor. Comput. Sci.3
1988 A Complexity Theory of Efficient Parallel Algorithms (Extended Abstract)
Clyde P. Kruskal, Larry Rudolph, Marc Snir
ICALP3
1988 Computing on an anonymous ring
abstract
The computational capabilities of a system of n indistinguishable (anonymous) processors arranged on a ring in the synchronous and asynchronous models of distributed computation are analyzed. A precise characterization of the functions that can be computed in this setting is given. It is shown that any of these functions can be computed in O ( n 2 ) messages in the asynchronous model. This is also proved to be a lower bound for such elementary functions as AND, SUM, and Orientation. In the synchronous model any computable function can be computed in O ( n log n ) messages. A ring can be oriented and start synchronized within the same bounds. The main contribution of this paper is a new technique for proving lower bounds in the synchronous model. With this technique tight lower bounds of θ( n log n ) (for particular n ) are proved for XOR, SUM, Orientation, and Start Synchronization. The technique is based on a string-producing mechanism from formal language theory, first introduced by Thue to study square-free words. Two methods for generalizing the synchronous lower bounds to arbitrary ring sizes are presented.
Hagit Attiya, Marc Snir, Manfred K. Warmuth
J. ACM2
1988 The Distribution of Waiting Times in Clocked Multistage Interconnection Networks
abstract
Analyzes the random delay experienced by a message traversing a buffered, multistage packet-switching banyan network. The authors find the generating function for the distribution of waiting time at the first stage of the network for a very general class of traffic, assuming messages have discrete sizes. For example, traffic can be uniform or nonuniform, messages can have different sizes, and messages can arrive in batches. For light-to-moderate loads, the authors conjecture that delays experienced at the various stages of the network are nearly the same and are nearly independent. This allows us to approximate the total delay distribution. Better approximations for the distribution of waiting times at later stages of the network are attained by assuming that in the limit a sort of spatial steady state is achieved. Extensive simulations confirm the formulas and conjectures.>
Clyde P. Kruskal, Marc Snir, Alan Weiss
IEEE Trans. Computers2
1988 Efficient Synchronization on Multiprocessors with Shared Memory
abstract
A new formalism is given for read-modify-write (RMW) synchronization operations. This formalism is used to extend the memory reference combining mechanism introduced in the NYU Ultracomputer, to arbitrary RMW operations. A formal correctness proof of this combining mechanism is given. General requirements for the practicality of combining are discussed. Combining is shown to be practical for many useful memory access operations. This includes memory updates of the form mem _ val := mem _ val op val , where op need not be associative, and a variety of synchronization primitives. The computation involved is shown to be closely related to parallel prefix evaluation.
Clyde P. Kruskal, Larry Rudolph, Marc Snir
ACM Trans. Program. Lang. Syst.3
1988 Efficient and Correct Execution of Parallel Programs that Share Memory
abstract
In this paper we consider an optimization problem that arises in the execution of parallel programs on shared-memory multiple-instruction-stream, multiple-data-stream (MIMD) computers. A program on such machines consists of many sequential program segments, each executed by a single processor. These segments interact as they access shared variables. Access to memory is asynchronous, and memory accesses are not necessarily executed in the order they were issued. An execution is correct if it is sequentially consistent: It should seem as if all the instructions were executed sequentially, in an order obtained by interleaving the instruction streams of the processors. Sequential consistency can be enforced by delaying each access to shared memory until the previous access of the same processor has terminated. For performance reasons, however, we want to allow several accesses by the same processor to proceed concurrently. Our analysis finds a minimal set of delays that enforces sequential consistency. The analysis extends to interprocessor synchronization constraints and to code where blocks of operations have to execute atomically. We use a conflict graph similar to that used to schedule transactions in distributed databases. Our graph incorporates the order on operations given by the program text, enabling us to do without locks even when database conflict graphs would suggest that locks are necessary. Our work has implications for the design of multiprocessors; it offers new compiler optimization techniques for parallel languages that support shared variables.
Dennis E. Shasha, Marc Snir
ACM Trans. Program. Lang. Syst.2
1987 Hierarchical Memory with Block Transfer
abstract
In this paper we introduce a model of Hierarchical Memory with Block Transfer (BT for short). It is like a random access machine, except that access to location x takes time f(x), and a block of consecutive locations can be copied from memory to memory, taking one unit of time per element after the initial access time. We first study the model with f(x) = xα for 0 ≪ α ≪ 1. A tight bound of θ(n log log n) is shown for many simple problems: reading each input, dot product, shuffle exchange, and merging two sorted lists. The same bound holds for transposing a √n × √n matrix; we use this to compute an FFT graph in optimal θ(n log n) time. An optimal θ(n log n) sorting algorithm is also shown. Some additional issues considered are: maintaining data structures such as dictionaries, DAG simulation, and connections with PRAMs. Next we study the model f(x) = x. Using techniques similar to those developed for the previous model, we show tight bounds of θ(n log n) for the simple problems mentioned above, and provide a new technique that yields optimal lower bounds of Ω(n log2n) for sorting, computing an FFT graph, and for matrix transposition. We also obtain optimal bounds for the model f(x)= xα with α ≫ 1. Finally, we study the model f(x) = log x and obtain optimal bounds of θ(n log*n) for simple problems mentioned above and of θ(n log n) for sorting, computing an FFT graph, and for some permutations.
Alok Aggarwal, Ashok K. Chandra, Marc Snir
FOCS3
1987 A Model for Hierarchical Memory
abstract
In this paper we introduce the Hierarchical Memory Model (HMM) of computation. It is intended to model computers with multiple levels in the memory hierarchy. Access to memory location x is assumed to take time ⌈ log x ⌉. Tight lower and upper bounds are given in this model for the time complexity of searching, sorting, matrix multiplication and FFT. Efficient algorithms in this model utilize locality of reference by bringing data into fast memory and using them several times before returning them to slower memory. It is shown that the circuit simulation problem has inherently poor locality of reference. The results are extended to HMM's where memory access time is given by an arbitrary (nondecreasing) function. Tight upper and lower bounds are obtained for HMM's with polynomial memory access time; the algorithms for searching, FFT and matrix multiplication are shown to be optimal for arbitrary memory access time. On-line memory management algorithms for the HMM model are also considered. An algorithm that uses LRU policy at the successive “levels” of the memory hierarchy is shown to be optimal.
Alok Aggarwal, Bowen Alpern, Ashok K. Chandra, Marc Snir
STOC4
1986 Efficient Parallel Algorithms for Graph Models
Clyde P. Kruskal, Larry Rudolph, Marc Snir
ICPP3
1986 The Distribution of Waiting Times in Clocked Multistage Interconnection Networks
Clyde P. Kruskal, Marc Snir, Alan Weiss
ICPP2
1986 Efficient Synchronization on Multiprocessors with Shared Memory
abstract
A new formalism is given for read-modify-write (RMW) synchronization operations.This formalism is used to extend the memory reference combining mechanism, introduced in the NYU Ultracomputer, to arbitrary RMW operations.A formal correctness proof of this combining mechanism is given.General requirements for the practicality of combining are discussed.Combining is shown to be practical for many useful memory access operations.This includes memory updates of the form mere val :~ mere val op val, where op need not be associative, and a variety of synchronization primitives.The computation involved is shown to be closely related to parallel prefix evaluation. INTRODUCTIONShared memory provides convenient communication between processes in a tightly coupled multiprocessing system.Shared variables can be used for data sharing, information transfer between processes, and, in particular, for coordination and synchronization.Constructs such as the semaphore introduced by Dijkstra in [Di], and the many variants that followed, provide convenient solutions to many synchronization problems involving arbitrary number of processes.These constructs are supported in hardware by machine instructions that atomically execute a Read-Modify-Write cycle.Such instructions exist on most modern CPU's.An atomic Read-Modify-Write operation only requires that it be semantically atomic, although it is often processed atomically also.The "serial bottleneck" created by this atomic processing, while acceptable for small scale parallelism, can seriously impair the performance of a system with thousands of processors.
Clyde P. Kruskal, Larry Rudolph, Marc Snir
PODC3
1986 Exact Balancing is Not Always Good
Marc Snir
Inf. Process. Lett.1
1986 A Unified Theory of Interconnection Network Structure
Clyde P. Kruskal, Marc Snir
Theor. Comput. Sci.2
1985 The Power of Parallel Prefix
Clyde P. Kruskal, Larry Rudolph, Marc Snir
ICPP3
1985 Issues Related to MIMD Shared-memory Computers: The NYU Ultracomputer Approach
abstract
We present an updated report on the NYU Ultracomputer design emphasizing recent results on programming, operating systems, caching, demand paging, and I/O.The user's view of the Ultracomputer is presented along with the hardware and software implementation.Freedom from serial bottlenecks in both hardware and software allows the Ultracomputer to obtain performance that scales nearly linearly in the size of the machine for a broad spectrum of problems.
Jan Edler, Allan Gottlieb, Clyde P. Kruskal, Kevin P. McAuliffe, Larry Rudolph, Marc Snir, Patricia J. Teller
ISCA6
1985 Computing on an Anonymous Ring
abstract
Article Computing on an anonymous ring Share on Authors: Chagit Attiya Department of Mathematics and Computer Science, Hebrew University, Givat Ram, Jerusalem, Israel Department of Mathematics and Computer Science, Hebrew University, Givat Ram, Jerusalem, IsraelView Profile , Marc Snir Department of Mathematics and Computer Science, Hebrew University, Givat Ram, Jerusalem, Israel Department of Mathematics and Computer Science, Hebrew University, Givat Ram, Jerusalem, IsraelView Profile , Manfred Warmuth Department of Computer Science, University of California, Santa Cruz, Ca Department of Computer Science, University of California, Santa Cruz, CaView Profile Authors Info & Claims PODC '85: Proceedings of the fourth annual ACM symposium on Principles of distributed computingAugust 1985 Pages 196–203https://doi.org/10.1145/323596.323614Online:01 August 1985Publication History 25citation278DownloadsMetricsTotal Citations25Total Downloads278Last 12 Months2Last 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
Hagit Attiya, Marc Snir, Manfred K. Warmuth
PODC2
1985 Applications of Ramsey's Theorem to Decision Tree Complexity
abstract
Combinatorial techniques for extending lower bound results for decision trees to general types of queries are presented. Problems that are defined by simple inequalities between inputs, called order invariant problems, are considered. A decision tree is called k-bounded if each query depends on at most k variables. No further assumptions on the type of queries are made. It is proved that one can replace the queries of any k -bounded decision tree that solves an order-invariant problem over a large enough input domain with k -bounded queries whose outcome depends only on the relative order of the inputs. As a consequence, all existing lower bounds for comparison-based algorithms are valid for general k -bounded decision trees, where k is a constant. An Ω( n log n ) lower bound for the element uniqueness problem and several other problems for any k -bounded decision tree, such that k = O ( n c ) and c < 1/2 is proved. This lower bound is tight since there exist n 1/2 -bounded decision trees of complexity O ( n ) that solve the element-uniqueness problem. All the lower bounds mentioned above are shown to hold for nondeterministic and probabilistic decision trees as well.
Shlomo Moran, Marc Snir, Udi Manber
J. ACM2
1985 On Parallel Searching
abstract
We investigate the complexity of searching a sorted table of n elements on a synchronous, shared memory parallel computer with p processors. We show that $\Omega (\lg n - \lg p)$ steps are required if concurrent accesses to the same memory cell are not allowed, whereas $O(\lg n/\lg p)$ steps are sufficient if simultaneous reads are allowed. The lower bound is valid even if only communication steps are counted, and the computational power of each processor is not restricted. In this model, $\Theta \sqrt {\lg n} $ steps are required for searching when the number of processors is unbounded. If the amount of information that a memory cell may store is restricted, then the time complexity for searching with an unbounded number of processors is $\Theta (\lg n/\lg \lg n)$. If the amount of information a processor may hold is also restricted, then an $\Omega (\lg n)$ lower bound holds. These lower bounds are first proven for comparison-based algorithms; it is next shown that comparison-based algorithms are as powerful as more general ones in solving problems defined in terms of the relative order of the inputs.
Marc Snir
SIAM J. Comput.1
1985 The Power of Parallel Prefix
abstract
The prefix computation problem is to compute allninitial productsa1* . . . *a1,i=1, . . .,nof a set ofnelements, where * is an associative operation. An O(((logn) log(2n/p))XI(n/p)) time deterministic parallel algorithm usingp≤nprocessors is presented to solve the prefix computation problem, when the order of the elements is specified by a linked list. Forp≤O(n1-ε)(ε〉0 any constant), this algorithm achieves linear speedup. Such optimal speedup was previously achieved only by probabilistic algorithms. This study assumes the weakest PRAM model, where shared memory locations can only be exclusively read or written (the EREW model).
Clyde P. Kruskal, Larry Rudolph, Marc Snir
IEEE Trans. Computers3
1985 Lower Bounds on Probabilistic Linear Decision Trees
Marc Snir
Theor. Comput. Sci.1
1984 Applications of Ramsey's Theorem to Decision Trees Complexity (Preliminary Version)
abstract
Combinatorial techniques for extending lower bounds results for decision trees to general types of queries are presented. We consider problems, which we call order invariant, that are defined by simple inequalities between inputs. A decision tree is called k-bounded if each query depends on at most k variables. We make no further assumptions on the type of queries. We prove that we can replace the queries of any k-bounded decision tree that solves an order invariant problem over a large enough input dornain with k-bounded queries whose outcome depends only on the relative order of the inputs. As a consequence, all existing lower bounds for comparison based algorithms are valid for general k-bounded decision trees, where k is a constant. We also prove an /spl Omega/(n log n) lower bound for the element uniqueness problem and several other problems for any k-bounded decision tree, such that k - )(n/sup c/) and c < 1/2. This lower bound is tight since that there exist n/sup 1/2/-bounded decision trees of complexity 0(n) that solve the element uniqueness problem. All the lower bounds mentioned above are shown to hold for nondeterministic and probabilistic decision trees as well.
Shlomo Moran, Marc Snir, Udi Manber
FOCS2
1984 The Importance of Being Square
abstract
We present a theory that defines performance of packet-switching interconnection networks (delay and capacity) and their cost in terms of their geometry. This is used to prove that square banyan networks have optimal performance/cost ratio. These results, together with some known results on the complexity of routing in multistage networks, show that multistage shuffle-exchange networks are the unique networks with both optimal performance and simple routing. Finally, square delta networks are shown to have optimal area complexity.
Clyde P. Kruskal, Marc Snir
ISCA2
1983 Circuit partitioning with size and connection constraints
abstract
Abstract The problem of partitioning a circuit into subcomponents with constraints on the size of each subcomponent and the number of external connections is examined. While this problem is shown to be NP‐complete even for very restricted cases, a pseudo‐polynomial dynamic programming algorithm is given for the case where the circuit has a tree structure.
Yehoshua Perl, Marc Snir
Networks2
1983 The NYU Ultracomputer - Designing an MIMD Shared Memory Parallel Computer
abstract
We present the design for the NYU Ultracomputer, a shared-memory MIMD parallel machine composed of thousands of autonomous processing elements. This machine uses an enhanced message switching network with the geometry of an Omega-network to approximate the ideal behavior of Schwartz's paracomputer model of computation and to implement efficiently the important fetch-and-add synchronization primitive. We outine the hardware that would be required to build a 4096 processor system using 1990's technology. We also discuss system software issues, and present analytic studies of the network performance. Finally, we include a sample of our effort to implement and simulate parallel variants of important scientific p̀rograms.
Allan Gottlieb, Ralph Grishman, Clyde P. Kruskal, Kevin P. McAuliffe, Larry Rudolph, Marc Snir
IEEE Trans. Computers6
1983 The Performance of Multistage Interconnection Networks for Multiprocessors
abstract
This paper studies the performance of unbuffered and buffered, packet-switching, multistage interconnection networks. We begin by reviewing the definition of banyan networks and introducing some generalizations of them. We then present an asymptotic analysis of the performance of unbuffered banyan networks, thereby solving a problem left open by Patel. We analyze the performance of the unbuffered generalized banyan networks, and compare networks with approximately equivalent hardware complexity. Finally, we analyze the performance of buffered banyan networks and again compare networks with approximately equivalent hardware complexity.
Clyde P. Kruskal, Marc Snir
IEEE Trans. Computers2
1982 The NYU Ultracomputer-designing a MIMD, shared-memory parallel machine (Extended Abstract)
abstract
We present the design for the NYU Ultracomputer, a shared-memory MIMD parallel machine composed of thousands of autonomous processing elements. This machine uses an enhanced message switching network with the geometry of an Omega-network to approximate the ideal behavior of Schwartz's paracomputer model of computation and to implement efficiently the important fetch-and-add synchronization primitive. We outline the hardware that would be required to build a 4096 processor system using 1990's technology. We also discuss system software issues, and present analytic studies of the network performance. Finally, we include a sample of our effort to implement and simulate parallel variants of important scientific programs.
Allan Gottlieb, Ralph Grishman, Clyde P. Kruskal, Kevin P. McAuliffe, Larry Rudolph, Marc Snir
ISCA6
1982 On Parallel Searching (Extended Abstract)
abstract
We investigate the complexity of seaching by comparisons a table of n elements on a synchronous, shared memory parallel computer with p processors. We show that O(lgn) steps are required if concurrent access to the same memory cell is not allowed, whereas only O(lgn/lgp) steps are required if simultaneous reads are allowed. We next show that it is possible to search in O(lg(n)/p) steps if more general operations are used.
Marc Snir
PODC1
1982 Some Exact Complexity Results for Straight-Line Computations over Semirings
abstract
The problem of computing polynomials in certain semmngs is considered.Precise bounds are obtained on the number of multiplications required by straight-hne algorithms which compute such functions as iterated matrix multiplication, iterated convolution, and permanent Usmg these bounds, tt is shown that the use of branching can exponentially speed up computations using the min, + operations, and that subtraction can exponentially speed up arithmetic computations These results can be interpreted as denying the existence of fast "universal" algorithms for computing certain polynomials K~V wol~os AND prmASES artthmeuc complexity, convexity theory, Farkas Lemma, minimax algebra, straight-hne algorithm Categories and SubJect Descriptors: F. 1 1
Mark Jerrum, Marc Snir
J. ACM2
1982 Probabilities Over Rich Languages, Testing and Randomness
abstract
The basic concept underlying probability theory and statistics is a function assigning numerical values (probabilities) to events. An “event” in this context is any conceivable state of affairs including the so-called “empty event”—an a priori impossible state. Informally, events are described in everyday language (e.g. “by playing this strategy I shall win $1000 before going broke”). But in the current mathematical framework (first proposed by Kolmogoroff [Ko 1]) they are identified with subsets of some all-inclusive set Q. The family of all events constitutes a field, or σ-field, and the logical connectives ‘and’, ‘or’ and ‘not’ are translated into the set-theoretical operations of intersection, union and complementation. The points of Q can be regarded as possible worlds and an event as the set of all worlds in which it takes place. The concept of a field of sets is wide enough to accommodate all cases and to allow for a general abstract foundation of the theory. On the other hand it does not reflect distinctions that arise out of the linguistic structure which goes into the description of our events. Since events are always described in some language they can be indentified with the sentences that describe them and the probability function can be regarded as an assignment of values to sentences. The extensive accumulated knowledge concerning formal languages makes such a project feasible. The study of probability functions defined over the sentences of a rich enough formal language yields interesting insights in more than one direction. Our present approach is not an alternative to the accepted Kolmogoroff axiomatics. In fact, given some formal language L, we can consider a rich enough set, say Q, of models for L (called also in this work “worlds”) and we can associate with every sentence the set of all worlds in Q in which the sentence is true. Thus our probabilities can be considered also as measures over some field of sets. But the introduction of the language adds mathematical structure and makes for distinctions expressing basic intuitions that cannot be otherwise expressed. As an example we mention here the concept of a random sequence or, more generally, a random world, or a world which is typical to a certain probability distribution.
Haim Gaifman, Marc Snir
J. Symb. Log.2
1982 Comparisons between Linear Functions can Help
Marc Snir
Theor. Comput. Sci.1
1981 Proving Lower Bounds for Linar Decision Trees
Marc Snir
ICALP1
1981 On the Complexity of Simplifying Quadratic Forms
Marc Snir
Inf. Process. Lett.1
1980 On the Size Complexity of Monotone Formulas
Marc Snir
ICALP1
1980 On the Depth Complexity of Formulas
Eli Shamir 0001, Marc Snir
Math. Syst. Theory2
1977 A Direct Approach to the Parallel Evaluation of Rational Expressions with a Small Number of Processors
abstract
In this paper we construct algorithms and investigate the time required for the parallel evaluation of rational expressions using small numbers of processors. We define algorithms which compute a polynomial with n operations in 3n/(2p + 1) + Q(p2) time units with p processors and a general rational expression with n operations in 5n/(2p + 3) + 0(p2) time units. These algorithms are suitable for implementation on computers with restricted data access.
Marc Snir, Amnon Barak
IEEE Trans. Computers1