The Workshop on "Parallel Computing"
Date: 6-10 of July 2005.
Place: Summer camp of of National Academy of Sciences of Ukraine in Zhukin village, province of Kiev.
Participation Terms: All interested persons are invited. Preliminary registration is required.
Day 1: Parallelizing Applications
Question: Introduction, library MPI, main algorithms and realization.
MPI ( Message Passing Interface ) – first standard, that produced a message-passing interface standard across the whole parallel processing community.
Using MPI provides source-code portability of message-passing programs across a variety of architectures. This has many benefits, including protecting investment
in a program and allowing development of the code on one architecture (e.g. a network of workstation) before running it on the target machine (e.g. fast specialist
- Introduction to parallelism and cases for usage.
- Usage of communications libraries for parallel coding. Simple example of parallelization.
- Assemblers, compilation of parallel programs and launching on cluster.
- Common view of MPI program. MPI functions. Point-to-Point and Non-Blocking Communication. Different types of operator Send.
- Collective communication. Barrier synchronization.
- Communicators, groups and contexts. Virtual Topologies.
- Derived datatypes.
- Creating first programs using MPI.
- Parallelization methods for different tasks (algorithms) and classes, where available effective parallelization.
- Differences in coding between parallel and linear algorithms.
Day 2: Cluster
Question: Features of hardware configuration, realization of fault tolerance, productivity optimization, search and elimination of defects.
Numerous cluster Linux-systems are thriving now. Most powerful of them are presented in "TOP500" (http://www.top500.org). Creating of computing cluster, usage
and development of free-ware software allow in short terms to introduce modern tools for computing and data processing.
- What is cluster and how could it be used? Components of cluster. Motivation of cluster creation: science work, student training.
- Non-linear dependence between the speed of program processing and size of cluster.
- Cluster network like critical component. Engineering specification for network equipment. Dependence between efficiency of cluster and parameters of the network. Increasing capacity by software environment.
- Operational system for cluster. Windows or Linux Usage. Heterogeneous system: Windows+Linux.
- Communications environment. Communications library: selection and installation.
- Selection operational system for cluster node. Possibility of usage existing Windows-workstation. Advantages of Linux usage in cluster organization.
Cluster network file system.
- How in 15 minutes organize cluster, compile parallel program and launch execution.
- Methods and features of data visualization while parallel program is processing.
- Demonstration of acceleration in calculation with cluster, built on two computers.
Day 3: Web-services
Questions: Conception of Web-services, practical realization in portals.
Web-services represent a new wave of technologies that promise to revolutionize the way business is conducted within and across
enterprise boundaries. WEB-services are loosely-coupled, encapsulated components that accomplish a well-defined purpose
and make their interfaces available via standard protocols and data formats so they can be invoked over an internal network or externally, via the Internet.
- Main applications of Web-services.
- Web-service like realization of business logic.
- Selection platform and required software.
- Development, installation and usage. Usage existing Web-services in creation of new compatible service.
- Creation of Web-application, where services are used like building blocks.
- Errors appearance while client is working with Web-service.
- Building distributed computing and information systems.
- Real example of information portal, based on Java-platform.
Day 4: Grid
Question: Advantages of Grid, construction of Grid system, creation applications for Grid.
A grid is a network of computational research centers whose supercomputer clusters, databases, and specialized programs form a pool of resources
that is more powerful and more versatile than that of any single research center, or node, on the network.
Grid software may well change the way scientists and, eventually, the rest of us interact with computers, according to some academic researchers
who work with grid technologies. Grid experts expect to create a simple Web interface that will make the computational part of science -- searching remote
databases or running programs on a distant computer -- as easy as using a utility service such as that provided by electrical power grids.
- Globus like standard of Grid technology. Security protocols, task management, file transfer.
- Programming architecture Grid - OGSA (Open Grid Services Architecture). Grid-services standard.
- Instruments for Grid-services development.