scholarly journals Multi-SPMD Programming Model with YML and XcalableMP

Author(s):  
Miwako Tsuji ◽  
Hitoshi Murai ◽  
Taisuke Boku ◽  
Mitsuhisa Sato ◽  
Serge G. Petiton ◽  
...  

AbstractThis chapter describes a multi-SPMD (mSPMD) programming model and a set of software and libraries to support the mSPMD programming model. The mSPMD programming model has been proposed to realize scalable applications on huge and hierarchical systems. It has been evident that simple SPMD programs such as MPI, XMP, or hybrid programs such as OpenMP/MPI cannot exploit the postpeta- or exascale systems efficiently due to the increasing complexity of applications and systems. The mSPMD programming model has been designed to adopt multiple programming models across different architecture levels. Instead of invoking a single parallel program on millions of processor cores, multiple SPMD programs of moderate sizes can be worked together in the mSPMD programming model. As components of the mSPMD programming model, XMP has been supported. Fault-tolerance features, correctness checks, and some numerical libraries’ implementations in the mSPMD programming model have been presented.

Author(s):  
В.А. Рудометкин

В настоящее время большинство сервисов переходят в онлайн, что позволяет пользователям получать услугу в любое время. Высокая доступность услуги приводит к росту количества пользователей, что влечет за собой повышение нагрузки на систему, поэтому необходимо уделить особое внимание отказоустойчивости системы перед началом ее разработки. Рассматриваются основные проблемы высоконагруженных систем, способ оптимизации приложения путем распараллеливания задач по ядрам процессора. В данной статье описывается необходимость перехода на микросервисную архитектуру, ее недостатки и способы их устранения. В процессе решения проблем масштабирования, затрагиваются проблемы распределенных транзакций и долгого ответа от сервера. Nowadays, most of the services are moving online, which allows users to receive the service at any time. The high availability of the service leads to an increase in the number of users, which entails an increase in the load on the system, therefore, it is necessary to pay special attention to the fault tolerance of the system before starting its development. The main problems of high-load systems, a way to optimize an application by parallelizing tasks across processor cores are considered. This article describes the need to migrate to a microservice architecture, its weaknesses, and how to fix them. In the process of solving scaling problems, the problems of distributed transactions and long response from the server are addressed.


2018 ◽  
Vol 2018 ◽  
pp. 1-7 ◽  
Author(s):  
Syaripuddin ◽  
Herry Suprajitno ◽  
Fatmawati

Quadratic programming with interval variables is developed from quadratic programming with interval coefficients to obtain optimum solution in interval form, both the optimum point and optimum value. In this paper, a two-level programming approach is used to solve quadratic programming with interval variables. Procedure of two-level programming is transforming the quadratic programming model with interval variables into a pair of classical quadratic programming models, namely, the best optimum and worst optimum problems. The procedure to solve the best and worst optimum problems is also constructed to obtain optimum solution in interval form.


2021 ◽  
Vol 15 (4) ◽  
pp. 518-523
Author(s):  
Ratko Stanković ◽  
Diana Božić

Improvements achieved by applying linear programming models in solving optimization problems in logistics cannot always be expressed by physically measurable values (dimensions), but in non-dimensional values. Therefore, it may be difficult to present the actual benefits of the improvements to the stake holders of the system being optimized. In this article, a possibility of applying simulation modelling in quantifying results of optimizing cross dock terminal gates allocation is outlined. Optimal solution is obtained on the linear programming model by using MS Excel spreadsheet optimizer, while the results are quantified on the simulation model, by using Rockwell Automation simulation software. Input data are collected from a freight forwarding company in Zagreb, specialized in groupage transport (Less Than Truckload - LTL).


2021 ◽  
Vol 24 (1) ◽  
pp. 157-183
Author(s):  
Никита Андреевич Катаев

Automation of parallel programming is important at any stage of parallel program development. These stages include profiling of the original program, program transformation, which allows us to achieve higher performance after program parallelization, and, finally, construction and optimization of the parallel program. It is also important to choose a suitable parallel programming model to express parallelism available in a program. On the one hand, the parallel programming model should be capable to map the parallel program to a variety of existing hardware resources. On the other hand, it should simplify the development of the assistant tools and it should allow the user to explore the parallel program the assistant tools generate in a semi-automatic way. The SAPFOR (System FOR Automated Parallelization) system combines various approaches to automation of parallel programming. Moreover, it allows the user to guide the parallelization if necessary. SAPFOR produces parallel programs according to the high-level DVMH parallel programming model which simplify the development of efficient parallel programs for heterogeneous computing clusters. This paper focuses on the approach to semi-automatic parallel programming, which SAPFOR implements. We discuss the architecture of the system and present the interactive subsystem which is useful to guide the SAPFOR through program parallelization. We used the interactive subsystem to parallelize programs from the NAS Parallel Benchmarks in a semi-automatic way. Finally, we compare the performance of manually written parallel programs with programs the SAPFOR system builds.


Author(s):  
Javier Conejero ◽  
Sandra Corella ◽  
Rosa M Badia ◽  
Jesus Labarta

Task-based programming has proven to be a suitable model for high-performance computing (HPC) applications. Different implementations have been good demonstrators of this fact and have promoted the acceptance of task-based programming in the OpenMP standard. Furthermore, in recent years, Apache Spark has gained wide popularity in business and research environments as a programming model for addressing emerging big data problems. COMP Superscalar (COMPSs) is a task-based environment that tackles distributed computing (including Clouds) and is a good alternative for a task-based programming model for big data applications. This article describes why we consider that task-based programming models are a good approach for big data applications. The article includes a comparison of Spark and COMPSs in terms of architecture, programming model, and performance. It focuses on the differences that both frameworks have in structural terms, on their programmability interface, and in terms of their efficiency by means of three widely known benchmarking kernels: Wordcount, Kmeans, and Terasort. These kernels enable the evaluation of the more important functionalities of both programming models and analyze different work flows and conditions. The main results achieved from this comparison are (1) COMPSs is able to extract the inherent parallelism from the user code with minimal coding effort as opposed to Spark, which requires the existing algorithms to be adapted and rewritten by explicitly using their predefined functions, (2) it is an improvement in terms of performance when compared with Spark, and (3) COMPSs has shown to scale better than Spark in most cases. Finally, we discuss the advantages and disadvantages of both frameworks, highlighting the differences that make them unique, thereby helping to choose the right framework for each particular objective.


Author(s):  
Miaoqing Huang ◽  
Chenggang Lai ◽  
Xuan Shi ◽  
Zhijun Hao ◽  
Haihang You

Coprocessors based on the Intel Many Integrated Core (MIC) Architecture have been adopted in many high-performance computer clusters. Typical parallel programming models, such as MPI and OpenMP, are supported on MIC processors to achieve the parallelism. In this work, we conduct a detailed study on the performance and scalability of the MIC processors under different programming models using the Beacon computer cluster. Our findings are as follows. (1) The native MPI programming model on the MIC processors is typically better than the offload programming model, which offloads the workload to MIC cores using OpenMP. (2) On top of the native MPI programming model, multithreading inside each MPI process can further improve the performance for parallel applications on computer clusters with MIC coprocessors. (3) Given a fixed number of MPI processes, it is a good strategy to schedule these MPI processes to as few MIC processors as possible to reduce the cross-processor communication overhead. (4) The hybrid MPI programming model, in which data processing is distributed to both MIC cores and CPU cores, can outperform the native MPI programming model.


2010 ◽  
Vol 18 (3-4) ◽  
pp. 153-167 ◽  
Author(s):  
Hongzhang Shan ◽  
Filip Blagojević ◽  
Seung-Jai Min ◽  
Paul Hargrove ◽  
Haoqiang Jin ◽  
...  

Harnessing the power of multicore platforms is challenging due to the additional levels of parallelism present. In this paper we use the NAS Parallel Benchmarks to study three programming models, MPI, OpenMP and PGAS to understand their performance and memory usage characteristics on current multicore architectures. To understand these characteristics we use the Integrated Performance Monitoring tool and other ways to measure communication versus computation time, as well as the fraction of the run time spent in OpenMP. The benchmarks are run on two different Cray XT5 systems and an Infiniband cluster. Our results show that in general the three programming models exhibit very similar performance characteristics. In a few cases, OpenMP is significantly faster because it explicitly avoids communication. For these particular cases, we were able to re-write the UPC versions and achieve equal performance to OpenMP. Using OpenMP was also the most advantageous in terms of memory usage. Also we compare performance differences between the two Cray systems, which have quad-core and hex-core processors. We show that at scale the performance is almost always slower on the hex-core system because of increased contention for network resources.


2009 ◽  
Vol 43 (3) ◽  
pp. 71-77 ◽  
Author(s):  
Chien-Chang Chou

AbstractIn the international trade cargo logistics system, the port choice of the shipper is seen to depend not only on transportation costs, but also on the value of the cargoes being shipped. In many previous studies, researchers have assumed that the ultimate aim of shippers when making port choices was to minimize inland freight costs. They then used that assumption to develop mathematical programming models for port choices. In practice, however, when making decisions about port choices, shippers always focus on total logistics costs. In other words, shippers not only aim to minimize the inland freight costs but also consider the frequency of ship callings. Thus, in this paper, a mathematical programming model for port choice of shippers, which not only considers inland freight costs but also takes into account the frequency of ship callings, is proposed and tested using a Taiwanese port case. The results show that the model proposed in this paper can be used to explain the actual port choice behaviors of Taiwanese shippers accurately.


Sign in / Sign up

Export Citation Format

Share Document