Sena Seneviratne, David Levy, Rajkumar Buyya · arXiv (Cornell University) · 2013
As Grids are loosely-coupled congregations of geographically distributed heterogeneous resources, the efficient utilization of the resources requires the support of a sound Performance Prediction System (PPS). The performance prediction of grid resources is helpful for both Resource Management Systems and grid users to make optimized resource usage decisions. There have been many PPS projects that span over several grid resources in several dimensions. In this paper the taxonomy for describing the PPS architecture is discussed. The taxonomy is used to categorize and identify approaches which are followed in the implementation of the existing PPSs for Grids. The taxonomy and the survey results are used to identify approaches and issues that have not been fully explored in research.
Cited by 5Open access
Mourad Elhadef · 2010
This paper deals with the problem of identifying faulty nodes (or units) in diagnosable distributed and parallel systems under the PMC model. In this model, each unit is tested by a subset of the other units, and it is assumed that, at most, a bounded subset of these units is permanently faulty. When performing testing, faulty units can incorrectly claim that fault-free units are faulty or that faulty units are fault-free. Since the introduction of the PMC model, significant progress has been made in both theory and practice associated with the original model and its offshoots. Nevertheless, this problem of efficiently identifying the set of faulty units of a diagnosable system remained an outstanding research issue. In this paper, we describe a new neural-network-based diagnosis algorithm, which exploits the off-line learning phase of artificial neural network to speed up the diagnosis algorithm. The novel approach has been implemented and evaluated using randomly generated diagnosable systems. The simulation results showed that the new neural-network-based fault identification approach constitutes an addition to existing diagnosis algorithms. Extreme faulty situations, where the number of faults is around the bound t, and large diagnosable systems have been also experimented to show the efficiency of the new neural-network-based diagnosis algorithm.
Cited by 3
Alban Rousset, Bénédicte Herrmann, Christophe Lang et al. · 2016
Simulation has become an indispensable tool for researchers to explore systems without having recourse to real experiments. Depending on the characteristics of the modelled system, methods used to represent the system may vary. Multi-agent systems are thus often used to model and simulate complex systems. In any cases, increasing the size and the precision of the model increases the amount of computation, requiring the use of parallel systems when it becomes too large. In this paper, we focus on parallel platforms that support multi-agent simulations and their execution on high performance resources as parallel clusters. Our contribution is a survey on existing platforms and their evaluation in the context of high performance computing. We present a qualitative analysis, mainly based on platform properties, then a performance comparison using the same agent model implemented on each platform.
Cited by 0
Rafiqul ZamanKhan, Javed Ali · International Journal of Computer Applications · 2012
Distribution of the tasks amongst the various computing nodes is itself an intellectually challenging problem in the high performance distributed computing systems. To choose the appropriate strategy for the required system is difficult without the meaningful comparison of the existing task partitioning and load balancing strategies. The effectiveness of the strategy depend on the number of factors-efficiency, interconnection topology, communication mode, program structure, throughput and computing capabilities of the structure. A number of task partitioning and load balancing strategies have been proposed, each of which perform remarkable results under different circumstances. The main goal of the paper is to unravel the mystery of strategies and to classify when and where each strategy is appropriate. In this paper, taxonomy of task partitioning and load balancing is presented in an attempt to provide a common terminology and classification mechanism.
Cited by 12Open access
Rare & Special e-Zone (The Hong Kong University of Science and Technology) · 1996
Cited by 0
Waleed W. Smari, Mohamed Bakhouya, Sandro Fiore et al. · Concurrency and Computation Practice and Experience · 2016
Recent developments in research and technological studies have shown that High Performance Computing (HPC) will indeed lead to advances in several areas of Science, engineering, and technology, permitting the successful completion of more computationally intensive and data-intensive problems such as those in healthcare, biomedical and biosciences, climate and environmental changes, multimedia processing, design and manufacturing of advanced materials, geology, astronomy, chemistry, physics, and even financial systems. However, further research is required for developing computing infrastructures, models to support newly evolving architectures, programming paradigms, tools to simulate and evaluate new approaches and solutions, and programming languages that are appropriate for the new and emerging domains and applications. The development of the HPC infrastructure has been accelerated by the advances in silicon technology, which permitted the design of complex systems able to incorporate many hardware and software blocks and cores. More precisely, recent rapid advances in technology and design tools enabled engineers to design systems with hundreds of cores, called multi-processor system-on-chip. These systems are composed of several processing elements, that is, dedicated hardware and software components that are interconnected by an on-chip interconnect. According to Moore's law, the number of cores on-chip will double every 18 months; therefore, thousands of cores-on-chip will be integrated in the next 20 years to meet the power and performance requirements of applications. Moreover, current trends on the road to exascale are moving toward the integration of more and more cores into a single chip 1, 2. For example, accelerators and heterogeneous processing offer some opportunities to greatly increase computational performance and to match increasing application requirements 3. Engineering these computing systems is one of the most dynamic fields in modern Science and technology. That said, there will continue to be a growing demand for more powerful HPC in the upcoming years, not just to tackle basic mounting computing needs but also to lay out the foundations for the HPC market that is becoming potentially larger than the desktop/laptop computer market. Furthermore, HPC is turning out to be a major source of hope for future applications development that require greater amounts of computing resources in various modern Science domains such as bioengineering, nanotechnology, and energy where HPC capabilities are mandatory in order to run simulations and perform visualization tasks. At the time of writing this editorial, petaflop computing is well established 4. Several architectures are making major breakthroughs: commodity, accelerators on commodity, and special-purpose cores. All of top 500 systems are based on multicore technologies 5. HPC usage is growing considerably, especially in industry. And significant efforts toward establishing exascale are underway. At the same time, several challenges have been recently identified in order to create large-scale computing systems that meet current and projected application requirements. Most of them are related to system architectures, algorithms, big data processing, and programming models 6. However, energy cost, resilience, Central Processing Unit (CPU) access latency and memory transfers are key challenges to address in the era of exascale. To address these challenges, completely new approaches and technologies and a shift from the current approaches used for application development and execution to adaptive approaches are required. Consequently, further research is required for developing advanced exascale-based computing infrastructures, models, and paradigms to support newly emerging architectures, programming models, tools to simulate and evaluate more elaborate solutions and applications, and programming languages that are appropriate for these new and emerging domains and challenges. This special issue is intended to provide an overview of some key topics and state-of-the-art of recent advances in subjects relevant to High Performance Computing and simulation. The general objectives are to address, explore, and exchange information on the challenges and current state-of-the-art in high-performance and large-scale computing systems, their use in modeling and simulation, their design, performance and use, and their impact in various Science and engineering domains and applications. This special issue contains research papers addressing the state-of-the-art in high-performance and large-scale computing systems. A set of carefully selected works was invited based on the original presentations at the 2013 IEEE International Conference on High Performance Computing and Simulation (HPCS 2013), which was held in Helsinki, Finland, July 01–05, 2013 7. The extended works have been thoroughly reviewed by an international technical reviewing committee, and only thirteen papers covering a wide range of relevant challenges in HPC were selected for this special issue. The manuscripts tackle research on different topics including HPC, distributed, Peer-to-Peer (P2P) systems, data mining, Graphics Processor Unit (GPU), multicore systems as well as real-world simulations related to Computational Fluid Dynamics (CFD), neuroinformatics, bioinformatics and weather forecast performed on large computational infrastructures. The set of accepted papers can be organized under the following key subjects and subsections, and are briefly described in the remaining parts of this Section. Accelerating compute-intensive applications is another recent research in HPC domain. These accelerators are special-purpose processors, which are designed mainly to speed up compute-intensive sections of applications and achieve better performance than CPUs for certain workloads 8. There are two types of accelerators: field-programmable gate arrays (FPGAs) and GPUs. FPGAs are highly customized and designed to be configured, while GPUs provide massive parallel execution resources and high memory bandwidth. GPU is designed to rapidly manipulate and alter memory to accelerate image-processing applications. Generally, GPUs are easier to program and require less hardware resources, while FPGAs provide the best expectation of performance, flexibility, and low overhead. Hardware acceleration using GPUs or FPGAs could potentially improve run times or higher accuracy simulations. Werner et al. 9, in their article Accelerated Join Evaluation in Semantic Web Databases by Using FPGA, provide different FPGA implementations of the join operation in the context of Semantic Web Databases. Authors develop a flexible FPGA-based hardware accelerator to improve the performance of query evaluation in a Semantic Web database. They propose an architecture based on partial reconfiguration to integrate the FPGA in the software system logically and physically optimized Semantic Web Database engines 10 to accelerate the database operations. Thus, hardware architecture considers joining algorithms for query execution implemented on FPGA. Experimental results are compared with a C code software solution for general-purpose CPU and show the efficiency of the hardware-based solution. Another application that could benefit from using accelerators like FPGA and GPU is the Weather Research and Forecasting (WRF) model 11. It is a model designed to serve both atmospheric research and operational forecasting needs. It is a next-generation mesoscale numerical weather prediction system to allow researchers to generate atmospheric simulations based on real data. However, the WRF model requires significant execution time and storage space. The porting to HPC platforms enables the simulations to run faster. GPUs are designed for computationally intensive applications, via a large number of threads on a larger number of processing elements. In their article An Analysis of the Feasibility and Benefits of GPU/Multicore Acceleration of the Weather Research and Forecasting Model, Vanderbauwhede and Takemi 12 show that porting numerical weather prediction model on GPU outperform current multi-core CPUs implementations. First, a simple study is done to evaluate the possible gains of porting a kernel to the GPU. Then, one kernel is selected through profiling and ported to GPU using OpenCL. The performance is then studied both independently and once the kernel integrated into WRF. Porting the code for GPU greatly improves the parallelization, which translates into better scalability for the OpenMP version of the code. HPC infrastructures can also be used for the development, acceleration, and application of bioinformatics applications. Jaziri et al. 13, in their article High Performance Computing of Oligopeptides Complete Backtranslation applied to DNA Microarray Probe Design, tackle the issue of large-scale backtranslation of oligopeptides, a step of generating all possible nucleic acid sequences from a protein sequence, which is needed for the discovery of new organisms. Because back translation is a time-consuming task that can generate very large quantities of data, authors propose an efficient distributed algorithm to compute a complete back translation of several hundreds of oligopeptides for functional Deoxyribose Nucleic Acid microarrays. The proposed algorithm was implemented, and simulations have been conducted on both simulated and real biological datasets. The results reported show a significant computing speedup on different architectures (symmetric multiprocessors, cluster, and grid). Most applications are computationally intensive. Scientists have traditionally attempted to parallelize their algorithms across HPC infrastructures. However, this task requires significant work and effort for learning parallel programming. Developing parallel libraries and high-level and easy to use languages are required to hide parallelization complexity of programs. Another important issue that can influence HPC systems performance is vectorisation. Many scientific codes have vectorisation potential that cannot be exploited due to an algorithm-driven choice of data layouts. In their article Data Layout Inference for Code Vectorisation, Sinkarovs and Scholz 14 propose an interesting approach for automatically generating efficient code for vectorisation by mainly focusing on the evaluation of a family of data layout transformations. The authors demonstrate the effectiveness of their approach by applying it on an N-body simulation. Coullon et al. 15, in their paper Implicit parallelism on 2D meshes using SkelGIS, tackle the issue of overcoming restrictions in parallelization of scientific simulations because of the complexity of functional concepts and specific features. Parallelization of scientific simulations requires a lot of efforts and field-specific knowledge to produce efficient parallel programs. For this reason, the authors introduce SkelGIS as a solution for abstracted and implicit parallelism. They apply SkelGIS to solve heat equations and shallow-water equations and compare both the SkelGIS performance and the SkelGIS programming effort with Message Passing Interface (MPI) solutions counterparts. The DARPA High Productivity Computing Systems program (2002–2011) has defined and released benchmark suits for measuring performance, portability, programmability, robustness, and the productivity in the HPC domain 3, 16. This suite is composed of several performance tests that are required to examine the performance and classify the HPC architectures, languages, and libraries 6: (i) High-Performance Linpack for evaluating the floating point rate of execution for solving a linear system of equations; (ii) Double precision GEneral Matrix Multiply for measuring the floating point rate of execution of double precision real matrix–matrix multiplication; (iii) STREAM for sustainable memory bandwidth evaluation; (iv) PTRANS for testing the total communications capacity of the network; (v) Random Access, which is required for measuring the rate of integer random updates of memory; (vi) Fast Fourier Transform for evaluating the floating point rate of execution of double precision complex one-dimensional Discrete Fourier Transform; and (vii) b-eff for measuring latency and bandwidth of a number of simultaneous communication patterns. Heinecke et al. 17, in their article Data Mining on Vast Datasets as a Cluster System Benchmark, introduce recent situation about benchmark and procurement of supercomputers, and describe the trend from Linpack benchmark to miniapp benchmarks to determine the performance in real usage. Also, it describes the difficulty to optimize the benchmark for new architectures. They discuss a data mining application that is compared on different (accelerated) cluster architectures and the needed optimization to efficiently run on different platforms. The authors in their work demonstrate such an optimization for a data mining algorithm, which solves regression and classification problems on vast datasets. In other terms, the authors propose a data mining application for cluster system benchmark using overlapping of computation and communication to hide latency and overhead reduction. Experiments have been conducted with different datasets and on the SuperMUC machine at the Leibniz-Rechenzentrum, the local CoolMAX AMD GPU cluster in Munich, the Phi-accelerated Beacon at University of Tennessee, and the Todi Cray XK7 at the Swiss National Supercomputing Centre. The performance results show that for strong scaling settings, GPUs and coprocessors suffer from lack of parallelism and do not perform as well at large scale. For weak scaling settings however, they always outperform. Several challenges, as stated previously, have been identified in order to create large-scale computing systems that meet current application requirements. These computing systems may rely on distributed computing mechanisms, implemented often as clusters and clouds, to provide continuous access to a variety of resources, for example, processing cores, large data stores, and information repositories. For example, a computational grid is a distributed computing infrastructure that can provide globally available network resources. These environments have the potential and ability to integrate large-scale computing resources, on demand. User ability to compute will no longer be limited to the resources he has at hand currently or those localized statically on a set of hosts known a priori. However, the main challenge in large-scale computing is how to program and control these distributed systems (Clouds or Exascale) with a billion nodes. Evidently, algorithms and simulators have to be developed to explore these new infrastructures. Distributed peer-to-peer control mechanisms could be devised and used to simulate new algorithms and computing architectures. In their article Flexible Replica Placement for Optimized P2P Backup on Heterogeneous, Unreliable Machines, Skowron and Rzadca 18 tackle the issue of data replication over distributed P2P systems with unreliable machines. They introduce a P2P backup system architecture using an optimal replication strategy for storing data over distributed P2P systems. Furthermore, research works to date have concentrated on static approaches tailored to parallelize existing applications on different HPC systems. However, the rapid growth in the size and complexity of contemporary distributed parallel applications, usually assembled out of a set of interacting software components executed over distributed and heterogeneous platforms, makes such approaches unsuitable for these dynamic environments. Therefore, dynamic approaches are required to allow the system to autonomously adapt its structure and its behavior during the course of its operation. In other words, these approaches allow the system to automatically modify its configuration according to the settings of its computing environment and the properties of its workload. These approaches are mainly motivated by the following issues. The high number of nodes makes the system vulnerable to failures. Consequently, its ability to react autonomously to faults is challenging. For example, the system's nodes should react to the changing environment by taking over pending tasks from faulty nodes. Static and centralized configurations of these systems are difficult or even impossible to use for dynamic and large-scale applications. For instance, for a large system with thousands of nodes, several applications could compete for resources. However, managing the resources at runtime and in a decentralized manner is a challenging task. Mencagli 19 in his article, Adaptive Model Predictive Control of Autonomic Distributed Parallel Computations with Variable Horizons and Switching Costs, addresses the dynamic reconfiguration issue of parallel computations by proposing an automatic method for reconfiguring distributed parallel computing. An autonomic computing approach is applied. It monitors the behavior of parallel modules and adjusts the degree of parallelism in order to achieve a global optimization while balancing the number of reconfigurations in view of performance and efficiency. The approach is based on model predictive control. The paper investigates especially the influence of different horizon lengths and different models for switching costs. The proposed method was evaluated by using a video-streaming application with synthesized workload. A model predictive control-based policy is evaluated with fixed horizon and variable horizon, respectively, and results are reported to show solution's effectiveness in improving the target properties of the adaptation process. Such autonomic control models to reconfiguration based on current system and application could be in computing platforms in which are required for the of Several compute-intensive and emerging applications have also been the of These applications range from and financial and to complex of of and environment modeling The special issue a such application areas with interesting requires the integration of HPC to achieve and et al. in their article in Parallel for the of in the of HPC tools and in order to have a for the main and study the that the accuracy of solutions especially for paper challenges in how to achieve and They provide two and that are using OpenMP in memory and on GPU in order to show that advances in and engineering will on HPC In their article A for in and address an important of automatic classification of using The of automatic classification of in has in The main of is that it is a its main the of in automatic classification using may have significant impact on and of The authors tackle this issue by a automatic classification of using The system proposed in the paper is a which of several functional The the and for and of The with and The authors and features. applying and they selected the best and them to the which support machine into and The system is by a computer on real According to the its performance a It was then compared with two other which were by the proposed is another research which on the of and in data. Most approaches used in classification are the most used classification in the It is a learning model with learning algorithms that are used for classification and regression needed for and data In other words, is mainly a method that classification tasks by in a space. et al. in their article for propose to improve the classification by using They examine the performance on The authors a on the source with the kernel and its effectiveness on datasets from Deoxyribose Nucleic Experimental results conducted in this paper show that the proposed is in applications. et al. in their paper of the with the parallelization on multi-core of learning They propose a new algorithm with a optimization algorithm for automatic The authors have two parallelization approaches on GPU using and The results reported demonstrate an important for the proposed approach compared with the CPU and are of compute-intensive applications for complex that have from researchers in computational are for the large of algorithms used to simulate different types of and that require and memory requirements. Therefore, them on recent platforms and for different application has been in the 10 In their article and Analysis of et al. the behavior of on modern HPC systems. They models for both performance and energy In the article, authors also the performance on Message Passing that their models are tools to optimal for large-scale simulations. They the of performance and the choice of number of cores used chip to energy The in this special issue provide recent advances in some fields related to High Performance Computing and simulations. In the manuscripts research on different topics including HPC, systems, data mining, systems as well as real-world simulations related to neuroinformatics, and weather forecasting performed on large computational infrastructures. hope that the can benefit from the in this special issue and will to these and research The of this special issue to their to all of the authors their papers to this special issue. are also to the for the work and the to the of this special also to to the for the to this special his during the special issue and for the authors the to their work in the international of and and to the for their and the following
Cited by 12Open access
Koch, William Kenneth Townsend · ScholarSpace (University of Hawaii at Manoa) · 2021
Modern science is heavily intertwined with the use of computing, with complex and large-scale computational applications needing to be executed on parallel and distributed computing plat- forms. The execution of these applications on these platforms is facilitated by multi-component software infrastructures that implement various algorithms for orchestrating and managing application computation and data access. Given the complexity of such systems (i.e., application workload, compute platform, and software infrastructure), optimizing for their efficient execution is a difficult proposition, which raises many research questions. A large literature focuses on answering these questions, following an experimental approach: draw conclusions based on real-world experiments, that is, executions on real-world platforms. Real-world experiments have many shortcomings, including high cost, labor, and time. Furthermore, they cannot be used to explore hypothetical scenarios that go beyond application, platform, and workflow configurations at hand. One approach that obviates the shortcomings of real-world experiments is simulation, i.e., the use of a software artifact that models and mimics the functional and performance behaviors of the execution of a parallel and distributed computing system. The main concern, however, is that of the accuracy of the simulation. High simulation accuracy can only be achieved by “calibrating” simulation parameters adequately with respect to real-world executions. Unfortunately, simulation calibration is rarely done in the literature, or, when it is done, it is a poorly documented, painstaking, manual process. In this thesis we explore the feasibility of automated simulation calibration in the context of the simulation of parallel and distributed computing systems. We frame the simulation calibration problem as an optimization problem, and propose an automated simulation calibration approach that can be instantiated for arbitrary simulation accuracy metrics and calibration algorithms. We evaluate our proposed approach via a case study for a particular production setting, namely the execution of scientific workflow applications via a workflow management system on a cluster managed by a batch scheduler. We find that our proposed approach is able to compute an accurate calibration for any given scenario, but we also find that simulation accuracy is diminished when using the computed calibration for simulating other scenarios (i.e., different application workloads, different platform scales). We investigate the reasons for this behavior, which point to fertile ground for future research.
Cited by 0Open access
Jay Smith, Howard Jay Siegel, Anthony A. Maciejewski · Proceedings - IEEE International Parallel and Distributed Processing Symposium · 2008
This paper summarizes some of our research in the area of robust static resource allocation for distributed computing systems operating under imposed quality of service (QoS) constraints. Often, these systems are expected to function in a physical environment replete with uncertainty, which causes the amount of processing required over time to fluctuate substantially. Determining a resource allocation that accounts for this uncertainty in a way that can provide a probabilistic guarantee that a given level of QoS is achieved is an important research problem. The stochastic robustness metric described in this research is based on a mathematical model where the relationship between uncertainty in system parameters and its impact on system performance are described stochastically.
Cited by 10
SZTAKI Publication Repository (Hungarian Academy of Sciences) · 2008
Cited by 0
Jakub Muszyński · Open Repository and Bibliography (University of Luxembourg) · 2015
This thesis analyses the fault-tolerant nature of Evolutionary Algorithms (EAs) executed in a distributed environment which is subjected to malicious acts. Such actions are a common problem in Desktop Grids and Volunteer Computing Systems (DGVCS’s) utilising idle resources shared by volunteers. Due to the vast computational and storage capabilities provided at a low cost, many large-scale research projects are carried out using such set-ups. However, this advantage is obtained at the expense of a challenging, error prone, heteroge neous and volatile environment of execution. In the volunteer-based systems, such as BOINC, the incentives offered to the contributors attract also malicious users, commonly called cheaters. A cheater typically seeks to obtain the rewards with little or no contribution at all. Additionally, this group may also include "crackers" or "black hat hackers" - users motivated by nothing more than a pure satisfaction from violating computer security. In this study we use and formalise cheating faults - a model for the behaviours described above, which are a subtype of byzantine (arbitrary) faults. They are mainly characterised by the alteration of outputs produced by some or all tasks forming a distributed execution. The approach differs from the arbitrary faults in its implementation, as usually they are introduced intentionally and from within the boundaries of a system. The innate fault resilience of EAs has been previously observed in the literature. However, this PhD manuscript offers the first, formal analysis of the impact of cheating faults in this area of optimisation techniques. In particular, the following contributions are proposed: - An in-depth formal analysis of the cheating-tolerance of parallel Evolutionary Algorithms (EAs), including proofs of convergence or non-convergence towards valid solutions in the presence of malicious acts. A step-wise approach is used, focusing firstly on the most simple variant of an EA that is still of theoretical and practical interest, i.e. a (1 + 1) EA. Then the results are extended to regular (population-based) EAs. The analysis shows that the selection mechanism is crucial to achieve convergence of EAs executed in malicious environments. - The extension of the study to cheating-resilience of spatially-structured Evolutionary Algorithms (EAs) and gossip protocols. More precisely, we analyse Evolvable Agent Model (EvAg) relying on Newscast protocol to define neighbourhoods in the evolution and the communication layers. There, we provide the necessary conditions for convergence of the algorithm in a hostile environment and we show that the evolutionary process may be affected only by tampering with the connectivity between the computing resources. After that, we design an effective connectivity-splitting attack which is able to defeat the protocol using very few naive cheaters. Finally, we provide a set of countermeasures which ultimately lead to a more robust solution. These results have been published in several international, peer-reviewed venues and well recognized international journals. By the variety of problems addressed by EAs, this study will hopefully promote their usage in the future developments around distributed computing platforms such as Desktop Grids and Volunteer Computing Systems or Cloud systems where the resources cannot be fully trusted.
Cited by 1Open access
Németh, Zsolt, Kranzlmüller, D., Kacsuk, Péter et al. · SZTAKI Publication Repository (Hungarian Academy of Sciences) · 2005
Cited by 0
Amol S Deshmukh · 2004
Abstract – Characterizing the dynamic behavior of parallel programs in terms of their execution profile helps to understand their behavior and suggest optimization strategies to improve the performance. Traditional event tracing techniques write the profiled data to trace files. Using the traditional approach for fine grained profiling not only yields large unwieldy trace files but often also gives skewed results due to the inaccuracies introduced by the profiling. This paper describes an approach to profile mesh-based parallel programs at a very fine level of granularity by measuring performance metrics at the level of each mesh element. The approach described in this paper is novel in that profile data is associated with mesh elements, not processors, so the profile data can be used, for example, to develop adaptive load balancing policies. A tool implementing the idea described in this paper is developed which provides an easy-to-use C API with Fortran 90 wrappers to enable fine grained profiling of mesh-based parallel applications. 1
Cited by 0
Gavin Holland, Dhiraj K. Pradhan · 2001
A novel architecture for a software-implemented fault-tolerance layer for application reliability on massively parallel computers and distributed computing systems is proposed. This is the first attempt at providing a purely softwarebased, user-level solution for fault detection, reconfiguration, and recovery in a parallel environment. The symmetrically distributed, multi-tiered layer envelopes user applications, enabling it to perform fault-tolerance related actions apart from, and transparent to the application. It's modular design enables dynamic runtime selection of the most appropriate fault-tolerant algorithm, and is, therefore, not restricted to one particular fault-tolerant method. Performance and coverage measurements of a minimal implementation of the proposed layer are presented, and indicate that user-level software-implemented fault-tolerance is realistically doable and reasonably efficient and effective.
Cited by 0
Jesse McDonald, Yick Ching Wong, Kshitij Mehta et al. · 2025
There are two sources of inaccuracy when simulating parallel and distributed computing systems: (i) a simulator implemented at an insufficient level of detail; and (ii) incorrectly calibrated simulation parameter values. Increasing the simulator’s level of detail can improve accuracy, but at the cost of higher space, time, and/or software complexity. Furthermore, evaluating the intrinsic accuracy of a simulator requires that its parameters be well-calibrated. Making decisions regarding the level of detail is thus challenging. We propose a methodology for instantiating the simulation calibration process and a framework for automating this process, which makes it possible to pick appropriate levels of detail for any simulator. We demonstrate the usefulness of our approach via two case studies for two different domains.
Cited by 0
2024
Cited by 0
Alban Rousset · Figshare · 2015
Here the code of Reference model called "PersonInteract" used in A Survey on Parallel and Distributed Multi-Agent Systems for High Performance Computing for PDMAS platforms : D-MASON, RepastHPC, Flame and Pandora
Cited by 0Open access
Rousset, Alban · Figshare · 2015
Here the code of Reference model called "PersonInteract" used in A Survey on Parallel and Distributed Multi-Agent Systems for High Performance Computing for PDMAS platforms : D-MASON, RepastHPC, Flame and Pandora
Cited by 0Open access
P. E. Mckenney, Senior Member, J. D. Slingwine · 1998
Abstract—The problems of synchronization overhead, contention, and deadlock can pose serious challenges to those designing and implementing parallel programs. Therefore, many researchers have proposed parallel update disciplines that greatly reduce these problems in restricted but commonly occurring situations, for example, read-mostly data structures [7, 10, 11, 13, 18]. However, these proposals rely either on garbage collectors [10, 11], termination of all processes currently using the data structure [13], or expensive explicit tracking of all processes accessing the data structure [7, 18]. These mechanisms are inappropriate in many cases, such as within many operating-system kernels and server applications. This paper proposes a novel and extremely efficient mechanism, called read-copy update, and compares its performance to that of conventional locking primitives under conditions of both low and high contention in read-intensive data structures. Index Terms—Shared memory, mutual exclusion, reader-writer locking, performance, contention. 1
Cited by 0
Didier El Baz · HAL (Le Centre pour la Communication Scientifique Directe) · 2018
International audience
Cited by 0
Shahriar M. Akramullah, Ishfaq Ahmad, Ming L. Liou · 2008
Traditionally, real-time video compression due to its enormous computing requirement has been done using the special-purpose hardware. On the other hand, softwarebased solutions have been primarily intended for non realtime applications. In this paper, we present a portable and scalable implementation of the MPEG-2 video encoder, using parallel processing, that can be used for both realtime and non real-time applications. The portability allows it to run on a wide variety of platforms including a number of high-performance parallel computers as well as networks of workstations. The scalability allows to control the parallelism enabling it to run on a few fast workstations using a coarse granularity or on a massively parallel architecture using a fine grained granularity. An important feature of our implementation is that we use a data-parallel approach and exploit parallelism within each frame, unlike previous parallel video coding implementations. This makes our encoder suitable for real-time applications where the complete video sequence may not be present on the disk and may become available on a frame-by-frame basis with time. The encoder also provides control over various parameters such as number of processors, size of motion-search window, buffer management and bit rate. Our implementation is flexible and allows inclusion of fast and new algorithms for different stages of the encoder, replacing current algorithms. Experimental results have been conducted on two parallel processing systems: the Intel Paragon XP/S and the Intel iPSC/860 hypercube. Networks of workstations used include the SUN and HP, connected via the Ethernet and FDDI, respectively. Comparisons of execution times, speedups as well as frame encoding rates on these systems are provided. Using maximum parallelism by dividing one block per processor, an encoding rate higher than realtime (30 frames/sec) has been achieved on the Intel Paragon. 1
Cited by 0