Middleware is a software layer that stands between the networked operating system and the application and provides well known reusable solutions to frequently encountered problems like heterogeneity, interoperability,...
详细信息
Middleware is a software layer that stands between the networked operating system and the application and provides well known reusable solutions to frequently encountered problems like heterogeneity, interoperability, security, dependability. Further, with networks becoming increasingly pervasive, middleware appears as a major building block for the development of future software systems. Starting with the impact of pervasive networking on computingmodels, manifested by now common grid and ubiquitouscomputing, this paper surveys related challenges for the middleware and related impact on the software development. Indeed, future applications will need to cope with advanced non-functional properties such as context- awareness and mobility, for which adequate middleware support must be devised together with accompanying software development notations, methods and tools. This leads us to introduce our view on next generation middleware, considering both technological advances in the networking area but also the need for closer integration with software engineering best practices, to ultimately suggest middleware-based software processes.
Summary form only given. Graphics Processing Units (GPUs) are becoming widely used as parallel accelerators in high-performance computing. GPU programming until recently, has been done by using low-level programming m...
详细信息
ISBN:
(纸本)9781509052257
Summary form only given. Graphics Processing Units (GPUs) are becoming widely used as parallel accelerators in high-performance computing. GPU programming until recently, has been done by using low-level programmingmodels such as CUDA and OpenCL. The directive-based OpenACC programming model has been growing in popularity due to its higher level of abstraction. This technique, which uses “directive” or “pragma” statements to annotate source code written in traditional high-level languages such as Fortran, C, and C++, is intended to allow a single code base to work across multiple computational platforms. We attempt to compare code complexity and performance of CUDA, OpenCL, and OpenACC implementations for three benchmark codes - the Game of Life (GOL) example code, the LULESH hydrodynamics proxy application, and the CloverLeaf mini-app from the Mantevo suite For the GOL C, CUDA C, and OpenCL codes and the LULESH C++, CUDA, and OpenCL codes, we measured source lines of code (SLOC) and cyclomatic complexity using the Oxbow toolkit static analysis tools. We ran the commercial McCabe IQ tool on the CloverLeaf Fortran90, Fortran90 + OpenACC, and Fortran portion of CloverLeaf_CUDA to measure cyclomatic complexity, design complexity, and essential complexity. We found that the CUDA and OpenCL implementations have significantly more lines of code than the corresponding OpenACC implementations but that the measured cyclomatic complexity is not always higher. The CUDA and OpenCL implementations generally have better performance, but there is not a drastic difference if the OpenACC code is optimized. We conclude that the available metrics and tools for measuring complexity of GPU programs are inadequate, since they do not quantify the portability and maintainability of the codes, and that specialization and extensions are needed.
The convergence of Big Data, High-performance computing (HPC) and Artificial Intelligence (AI) is happening at several supercomputing facilities around the following use-cases: (i) Integration of large-scale experimen...
ISBN:
(纸本)9781728101934;9781728101927
The convergence of Big Data, High-performance computing (HPC) and Artificial Intelligence (AI) is happening at several supercomputing facilities around the following use-cases: (i) Integration of large-scale experiments and compute resources (ii) StrongScaling AI/ML codes (iii) Leveraging ML models to steer simulation codes (iv) Analysis of tera/petabytes of scientific Big Data requiring HPC resources (v) Collating data and compute portals for the design of discovery-oriented workflows. While tremendous progress is being made towards accelerating the performance of these end-to-end workflows using several knobs (such as algorithmic cleverness, mathematical approximations, sub-precision processing, domain-specific accelerators, memory hierarchies etc.), new opportunities for architecting smarter storage, compute and analysis infrastructure emerge. Based on our experience from use-case instantiations, we present open architectural challenges around (i) non-traditional data (graphs, imagery, sequences, etc.); (ii) enabling combinatorial search and generalizability - critical for application of modern methods such as deep learning to science; (iii) the need for better programmingmodels to implement data, ensemble and model parallelism (iv) productivity tools to minimize cost-to-insight and (v) I/O acceleration. These challenges reveal that real success of convergence along dimensions of both performance and productivity can be achieved via architecture design that is able to integrate flexibility in system-design from a facility perspective while accommodating workflow-specific heterogeneity from a end-user perspective.
Summary form only given, as follows. The complete presentation was not made available for publication as part of the conference proceedings. The technological trends in HPC system evolution indicates an increasing bur...
详细信息
ISBN:
(数字)9781728174457
ISBN:
(纸本)9781728174570
Summary form only given, as follows. The complete presentation was not made available for publication as part of the conference proceedings. The technological trends in HPC system evolution indicates an increasing burden placed on application developers due to the management of the unprecedented complexity levels of hardware and its associated performance characteristics. Many existing scientific applications codes are unlikely to perform well on future systems without major modifications or even complete rewrites. In the future, it will be necessary to utilize, in concert, many characteristics such as multiple levels of parallelism, many lightweight cores, complex memory hierarchies, novel I/O technology, power capping, system-wide temporal/spatial performance heterogeneity and reliability concerns. The parallel and distributed computing (PDC) community has developed new programmingmodels, algorithms, libraries and tools to meet these challenges in order to accommodate productive code development and effective system use. However, the scientific application community still needs to identify the benefit through practical evaluations. Thus, the focus of this workshop is on methodologies and experiences used in scientific and engineering applications and algorithms to achieve sustainable code development for better productivity, application performance and reliability.
With the introduction and popularity of wireless devices, the diversity of the platforms has also been increased. There are different platforms and tools from different vendors such as Microsoft, Sun, Nokia, SonyErics...
详细信息
With the introduction and popularity of wireless devices, the diversity of the platforms has also been increased. There are different platforms and tools from different vendors such as Microsoft, Sun, Nokia, SonyEricsson and many more. Because of the relatively low-level programming interface, software development for Symbian platform is a tiresome and error prone task, whereas .NET CF contains higher level structures. This paper introduces the problem of the software development for incompatible mobile platforms, moreover, it provides a model-driven architecture (MDA) and Domain Specific Modeling Language (DSML)-based solution. We also discuss the relevance of the model-based approach that facilitates a more efficient software development, because the reuse and the generative techniques are key characteristics of model-based computing. In the presented approach, the platform-independence lies in the graph rewriting-driven visual model transformation. This paper illustrates the creation of model compilers on a metamodeling basis by a software package called Visual Modeling and Transformation System (VMTS), which is an n-layer multipurpose modeling and metamodel-based transformation system. A case study is also presented how model compilers can be used to generate user interface handler code for different mobile platforms from the same platform-independent input models
暂无评论