........................................................ C-DAC, India's National Initiative in Advanced Computing ======================================================== 1. C-DAC Profile ================ Centre for Development of Advanced Computing (C-DAC) is India's national initiative in Advanced Computing. Its mission is to deliver state-of-the-art, open architecture, scalable high-per- formance computers in the desktop to teraflops range, embodying emergent industry-standard building blocks. In fulfillment of this goal, C-DAC has advented the OpenFrame which has been real- ized in its PARAM series High-Performance Supercomputers. The applications development programme includes scientific and engi- neering, real-time and business applications. A National PARAM Supercomputing Facility (NPSF) has been created to provide a nation-wide and internet access to C-DAC's PARAM series of super- computers. C-DAC's Language Technology Mission complements its high-perform- ance computing and communications initiative to create a frame- work for the co-existence of all international and regional languages with diverse scripts on standard computers allowing script independent universal software to become a reality. C-DAC has innovated Graphics and Intelligence based Script Technology (GIST) in this goal. The GIST Technology is now extended to include multilingual and multimedia computing. C-DAC is involved in crafting advanced computing technology products, solutions and services for mission-critical applica- tions. The advanced computing technology solutions for education and research, power, telecommunication, health care, finance, defense, and other sectors are being developed and have received wide recognition. For instance, many regional banks in India have used GIST products for their transaction automation supporting regional language. C-DAC has successfully commercialized its R & D works through its newly created commercial arm (Business Division) and strategic alliances in the form of development partners, joint ventures (national and international level) and distributors. C-DAC is working towards development of enabling technologies and application testbeds for National Information Infrastructure (NII) through its next generation supercomputer called PARAM OpenFrame (PARAM 10000) and National Param Supercomputing Facili- ty (NPSF) projects. 2. C-DAC in Action: Development Groups and their Products ========================================================= C-DAC has the following there major groups working on building HPCC products for PARAM supercomputers: HPCC Hardware Development and Engineering Group ----------------------------------------------- This group is mainly involved in parallel architecture develop- ment for PARAM Supercomputers. They have been actively involved in designing system boards and networking components for PARAM series of supercomputers (MPP based)--PARAM 8000, PARAM 8600, and PARAM 9000. With changing technological trends, C-DAC has changed its computing paradigms from MPP computing to Cluster Computing. The focus of this group is on developing fast networking hardware (PARAMNet*) and engineering of cluster based system development (PARAM 10000 or PARAM OpenFrame). HPCC System Software Group -------------------------- This group has many teams/subgroups working on products related to Operating Systems, Networking, Compiler, Graphics, Tools and Libraries, and Software Engineering. The Operating System Group in has developed microkernel based operating system called PARAS for PARAM series of supercomputers. It has ported and optimized public domain runtime systems such as PVM and MPI for PARAM machine and thus making available a wide range of standard appli- cations on PARAM. The other major products of this group includes Fortran 90 Compiler, CORE (Concurrent Runtime Environment), DIVIA, Software Matrics, AIDE (Advanced Integrated Development Environment). HPCC Application Group ---------------------- The application areas addressed by this group includes the fol- lowing: Weather Forecasting, Seismic Data Processing, Digital Elevation Modeling, Biotechnology, Space Applications, Computa- tional Quantum Chemistry, Computational Physics, Computational Fluid Dynamics, Structural Mechanics, Visualization, Medical Imaging, Digital Video Entertainment, etc. This group has de- veloped/ported many Grand Challenging applications such as Weath- er Forecasting, Life Science applications onto PARAM supercomput- er using its own message passing interfaces such as MPI and PVM. Other groups of C-DAC includes: ------------------------------ In addition to the above, C-DAC has many other groups working on developing and marketing spin-off products, which have emerged based on market needs and trends. * Graphics and Intelligence based Script Technology (GIST) * Special Projects Group Real-Time Systems Group (formally called Power Group) Telecom Group Transport Group Health Care System Group Indian Heritage * National PARAM Supercomputing Facility * Business Division Group * Advanced Computing Training School * Facilitation Services Group 3. PARAM 9000 Machine Architecture ================================== PARAM (Parallel Machine) is a distributed memory, message passing parallel computer. The PARAM family of supercomputers include PARAM 8000, PARAM 8600, and PARAM 9000. PARAM 8000 is based on the INMOS's transputers and PARAM 8600 is based on the Intel's i860 RISC processors. The PARAM 9000 is based on the SUN's SPARC processors. The OpenFrame architecture of C-DAC (adopted in building PARAM 10000), designed for teraflop performance, pro- vides seamless scalable computing power from a single interactive workstation to a cluster of workstations. The change over from MPP and Cluster computing began with the emergence of powerful workstations in the 90's and the possibili- ty of connecting them through high speed networks. This is the motivation for unification of both MPP and cluster personality within a single framework in PARAM 9000. The PARAM communication Network (PARAM-Net) connects all processing elements and allows smooth transition from Cluster to MPP computing. It offers a high speed, low latency, and packet switched network based on wormhole routing algorithm. The PARAM 9000 hardware architecture allows the nodes to be con- figured as compute nodes or service nodes. The compute nodes execute user jobs only, while the service nodes in addition provide various services required to support the execution of user jobs. The services provided include file services, gateway services for external connectivity, etc. The service nodes pro- viding gateway services (gateway nodes) support external connec- tivity through Ethernet, FDDI, or token ring. In both the personalities (MPP and Cluster), the basic hardware of PARAM 9000 remains the same. They differ only in terms of operating environment and their configuration in terms of soft- ware. In the cluster mode, all nodes of the system are configured with the industry standard Solaris OS from SunSoft. In the MPP mode, few nodes (service nodes) of the system run Solaris OS while the others (compute nodes) are configured with PARAS mi- crokernel and system servers. This allows plug-and-play of the needed personality; during boot-time PARAM can be configured to support either the MPP or the Cluster personality. The use of a custom microkernel provides the required flexibility to extract maximum performance from the system. Cluster Personality ------------------- The system exports the Solaris 2.x operating system on all the nodes and the PARAM interconnection network supports a Data Link Provider Interface (DLPI) driver which implements ISO Data Link Standard Definition and Logical Link Service Definition. The DLPI support allows mapping of common network protocols such as TCP/IP to the underlying network PARAMNet. Thus the system provides an environment which is functionally equivalent to a cluster of Solaris workstations over a LAN. Thus the software available under a distributed Solaris environment becomes readily available on PARAM also. MPP Personality --------------- The PARAM 9000 OS architecture allows the microkernel to be loaded on the compute nodes instead of Solaris. The communication subsystems over the microkernel have been optimized providing an order-of-magnitude improvement in performance. Custom designed Concurrent Runtime Environment CORE and standard message passing interfaces Parallel Virtual Machine (PVM) and Message Passing Interface (MPI) are supported for parallel programming. 4. PARAS Microkernel ==================== High performance computing requires the use of massive parallel processing (MPP) systems containing thousands of powerful CPUs. Every node in these parallel systems requires an operating system (radically different from the current ones) to manage its re- sources. To meet this requirement, C-DAC has developed an OS kernel called PARAS Microkernel for the PARAM family of parallel systems based on the state-of-the-art microkernel technology. It supports most essential services such as process, memory, and interprocess communication management. In the design of the PARAS microkernel, C-DAC has adopted the philosophy of migrating tradi- tional operating system services into user-level processes. It removes the concept of using application ignorant systems and allows the user to build subsystems suitable to the application. Various subsystems such as CORE, PVM, and MPI layered on top of the PARAS microkernel have demonstrated the simplicity and exten- sibility of this design approach. PARAS Microkernel Architecture ------------------------------ PARAS microkernel is a message passing, multithreaded operating system kernel designed for high performance massive parallel processing systems. It supports multiple tasks with a paged virtual memory space, multiple threads of execution within each task and message based interprocess communication. Message pass- ing is the primary means of communication among tasks, and to some extent between the tasks and the kernel itself. Location independent interprocess communication is supported through the port abstraction, with support for both synchronous and asynchro- nous modes of communication. The microkernel integrates the following essential services: * An executive derived from the Mach microkernel which preemp- tively schedules priority-based threads. * A location transparent interprocess communication mechanism. * A simple virtual memory model. * A low level hardware supervisor which dispatches interrupts and traps. Microkernel Components ---------------------- All the client requests (made through subsystems) are notified to the PARAS microkernel by using system calls. These system calls are accessible both to subsystems and applications. The PARAS service request dispatcher will in turn route all requests to the appropriate service providers, which are built in the form of resource managers. They are Process Manager, Virtual Memory Manager, and Inter-Process Communication (IPC) Manager. The process manager is responsible for handling issues related to task/thread creation, scheduling, dispatching, control, resource handling, etc. The memory manager is responsible for serving user requests for memory. It handles memory allocation/deallocation management and maps user addresses (logical) to the machine (physical) addresses. The IPC manager in cooperation with system servers, provides port abstraction for communication among the tasks. These ports can be created, named, located, and deleted. 5. Operating Environment ======================== The operating environment includes the PARAS microkernel running on compute nodes and Solaris 2.x running on service nodes. The power of PARAM 9000 in MPP mode is provided to the user with the help of two sets of servers: one running on the Service Partition (SP) and the other running on the Compute Partition (CP). The microkernel as a whole interacts with various other components which are migrated into user level processes. They include server loader, process server, file server, name server, etc., to pro- vide a complete operating environment. The process server, parti- tion manager, file server, and name server run on the compute partition. The server loader and a front end server (Param Re- source Manager) run on the service partition. Since the microkernel runs on the compute partition, a front-end server running on the service partition is required to download user tasks on to the compute partition and service its input/output requests. 6. Fortran 90 Compiler ====================== C-DAC Apogee Fortran 90 Compiler is an optimizing Fortran 90 Compiler for Sparc Platforms developed jointly by Centre for Development of Advanced Computing and Apogee Software Inc., USA. The F90 compiler conforms to International Standards ANSI X3.9:1978 and ISO/IEC 1539: 1991 and supports both free and fixed source formats. It is a highly optimizing, generates high quality code and provides numerous options to control the behav- ior of the compiler. It also supports parallel programming under MPI and PVM environments and allows mixed language programming with C. In addition to conventional machine dependent and machine independent optimization, it performs the following optimiza- tions: loop vectorization, loop unrolling, loop fusion, loop distribution, loop interchange, function inlining. The F90 product also comes as the complete integrated development environment, which comprises compiler, browser, debugger, make file generator, profiler, and project manager. The complete product conforms to language standards ensured by passing through validation test suites. The product has undergone exhaustive testing by compilation of millions of lines of real application programs-both dusty deck and newly written and has been commer- cialized successfully. 8. HPCC System Software for UNIX Clusters ========================================= The HPCC system software products described in this section have been exhibited and demonstrated to the participants of the 5th International Conference on Advanced Computing (ADCOMP'97) held at Madras, India in December'97. C-DAC HPCC (High Performance Computing and Communication) soft- ware is an open and flexible parallel-and-distributed processing environment for a cluster of UNIX workstations. The software architecture allows the collection of workstations to be viewed as; independent workstations, cluster of workstations, or a MPP system connected through a scalable high bandwidth network. The HPCC software allows users to develop and execute sequential, message passing and data parallel programs. Efficient MPI imple- mentation provides the required support for developing message passing applications while support for data parallel programs is provided through High Performance Fortran (HPF). High performance communication protocols (Light Weight Protocols) and a rich set of program development, system management and software engineer- ing tools are aimed offering high performance services and usa- bility. C-DAC HPCC software is a complete solution for enterprises that need to create and execute parallel programs on UNIX clusters. Performance for both parallel and distributed applications is guaranteed through efficient implementation of lightweight commu- nication protocols. In addition, the environment supports effec- tive monitoring and administration of the multiple resources of large UNIX clusters. The HPCC software offering consists of: * Base Software, which includes a lightweight communication substrate, optimized MPI, and a parallel file system with MPI-IO interface. * Program Development environment, providing a rich set of FOR- TRAN 77 / Fortran 90 program development tools, and an integrated debugging environment for parallel programs. * System Management tools for monitoring the effective utiliza- tion of the cluster resources and for administration of large UNIX clusters * Software engineering tools for developing high quality pro- grams. The following are the features of C-DAC System Software Products: * Exploits hardware features for communication, providing a low latency and high bandwidth communication substrate. * Supports full implementation of the MPI standard. Collective algorithms tuned to a Cluster of Multi Processors (CLUMPS) architecture. * Full function development environment for parallel and distrib- uted applications with true support for parallel program debug- ging and profiling. * Integrated Fortran 90 Development Environment. * Unified system management tool for cluster monitoring and administration. * Adheres to established and emerging standards in parallel and distributed computing. HPCC System Software Product Components ---------------------------------------- PULP: Light weight communication software. Layered over ParamNet and Myrinet for UNIX Clusters. C-MPI: Optimized implementation of MPI for Cluster of Multi Proc- essors (CLUMPS). Both point-to-point and collective calls have been optimized. Effectively uses both shared and distributed memory of CLUMPS. C-PFS: Parallel File System. Provides MPI-IO file system inter- face to parallel applications CAF90: Fortran 90 compiler. Jointly developed by C-DAC and APOGEE, USA. Integrated development environment with debugging, profil- ing, browsing and project management support. C-F77to90: A converter to Fortran 90 for FORTRAN-77 programs. An essential product for programmers who have large FORTRAN 77 code to maintain. DIViA: Parallel program correctness and performance debugger. Detects communication bottlenecks, and supports message debug- ging. Provides architecture and communication layer neutrality. PARMON: Cluster monitoring tool. Monitors the cluster as a unified resource. Helps in detecting performance bottlenecks and also interfaces to diagnostic tools. PARCOM: Parallel Unix Commands. Provides parallel extensions to traditional UNIX commands. MetricAdvisor: Software engineering tool for metrics. Evaluates Halstead, McCabe, Complexity Density, Fan-in and Fan-out me- trices. 9. A Few Popular Spin-Off Products of C-DAC =========================================== The two most popular spin-off products of C-DAC are COPS-90 and GIST. COPS-90 is a generic framework for building process manage- ment systems. It is being used extensively in various process control industries and electric power distribution control sys- tems. GIST has become the standard in Indian script applications on computers and other electronic media and provides unique and simple solutions for a multilingual country like India. COPS-90, C-DAC Open Power Solutions ----------------------------------- Realizing the national importance of the power sector and indus- trial process control applications, C-DAC entered into these application areas, for computerization of the total grid opera- tions. C-DAC has harnessed its experience in systems, networking, communications and application software with power system knowl- edge to introduce its COPS-90 (C-DAC's Open Power Solutions) which is found to be offering cost-effective solution. This is one of the commercially successful products of C-DAC having large installation base in India. C-DAC has developed and delivered SCADA and EMS (Energy Management System) solutions to Northern Regional Load Dispatch Centre (NRLDC) and Eastern Regional Load Dispatch Centre (ERLDC). C-DAC is currently implementing complete SCADA solution with COPS-90 RTUs (Real Time Units) for (many State Electricity Boards) and process cintril industries. The solution has flexible open architecture with modular functionali- ty. The system is built on industry standard hardware and net- working. All functions are distributed modularly over several workstations and servers. Users can start with a small basic configuration and expand the software for new levels of perform- ance, functionality or reliability. GIST TECHNOLOGY --------------- GIST (Graphics and Intelligence based Script Technology) is known for more than a decade and has become synonymous with the stand- ards in Indian script applications on computers and other elec- tronic media. It has provided unique and simple solutions for a multilingual country like India. The kind of applications are emerging with wide-spread use of computers is very diverse and here we shall cover some of them. Popular GIST Products --------------------- GIST products supports both a single user and multiuser environ- ments. The GIST Terminals connected to main computers running multiuser environments like Unix, Xenix, VAX-VMX etc., provide full compat- ibility along with multilingual facility. This makes it versatile for providing multilingual user interfaces, data entry and print- outs for a word-processing or data processing applications. For example, application software developed with Oracle, Magic, etc. can be made multilingual without any changes. The other platform is PC or workstation based under DOS and MS- Windows, with or without networking. The GIST card when added to your computer makes it multilingual with textmode applications running under DOS. Even existing packages like DBase, Lotus can be used with data in Indian languages. The ALP software provides multilingual word-processing with spell-checkers and aesthetic printouts. It is easy to use with WordStar compatible commands and can be used with or without a GIST card. The Graphical environments like MS-Windows have become user friendly and are gaining popularity. The ISM package makes the MS-Windows environment multilingual for applications like Word, PageMaker, CorelDraw, etc. ISM is available for the graphics packages like 3D-Studio and for Macintosh computers also. It is being used by most DTP houses and Advertising agencies. Word-processing in Indian languages is more demanding and also requires spell-checkers in Hindi, Marathi, Kannada, etc. apart from English. This need is met by LEAP software which can be used for publishing as well. It is poised to become the most popular multilingual word-processor. The GIST Technology is poised to grow and meet the needs and expectations of the people. The various GIST products are being marketed internationally through a chain of distributors. A few products of GIST discussed below: Language Independent Subtitling Station (LIPS) ---------------------------------------------- A state-of-art system to increase the viewership of your favorite program. Allows to create fused subtitles in an easy way, that too in all Indian, European and Arabic languages. LEAP ---- LEAP is a multilingual word processor under MS-Windows for aes- thetic document preparations and publications. It also incorpo- rates the features of most popular English wordprocessor under Windows. ISFOC Script Manager (ISM) -------------------------- The latest computers and the best software packages such as MS- Word, MS-Excel, Page-Maker, PowerPoint, CorelDraw, QuarkXpress, 3D Studio, etc. are found to be severely lacking when it comes to handling complex Indian scripts, as they were originally designed to perform only simple scripts like English. To ensure appealing usage of Indian scripts in popular environments like MS-Windows, CDAC has ushered in the "ISFOC" (Indian Script Font code) stand- ards that does justice to the nature of a script while conforming to the normal requirements. ISM is an Indian language interface to applications running under MS-Windows and Macintosh platforms. ISM for Video Graphics is for professional work in Video anima- tion, titling and special effects. GIST SHELL ---------- GIST Shell is a "software only" solution which makes it possible for text based MS-DOS applications to enter, store, display and print text in Indian languages and English simultaneously. This innovative software enables you to use off-the-shelf applications such as dBase, Lotus 1-2-3, etc. in any Indian language. Also, as the Indian language data is stored in PC-ISCII format, alphabetic sorting order can be maintained. You can use GIST Shell with custom made applications too, without any modification to the software. Once the GIST Shell software is installed on the sys- tem, you can immediately use your favorite software package in the language of your choice. GIST Card --------- CDAC GIST Card is a IBM PC plug-in card, which allows the use of all Indian, Perso-Arabic, Thai, Tibetan, Sinhalese or European scripts on all character-oriented application software such as dBase, Lotus 1-2-3, WordStar etc. on DOS. It comes with its own customized multilingual word-processor called 'ALP For GIST Card'. GIST card allows instant transliteration between the scripts of the same family and to the Roman script with diacritic marks. It supports Epson/IBM compatible 9-pin/24-pin Dot Matrix, HP LaserJet and Mannesmann Tally Line Matrix printers. C-DAC GIST Card allows landscape printing on HP LaserJet (80/130 columns) printers. GIST Terminal ------------- CDAC GIST Terminal is compatible to the DEC VT-52/100/220/320 and ANSI terminals and allows the GIST scripts to be used in the existing character-oriented software packages like Lyrix, Fox- Base, Word Perfect etc., and RDBMS packages like Oracle, Ingress, Sybase etc. on multiuser systems such as UNIX, XENIX, VMS. GIST Terminals communicate with the Host through the RS232 serial port. C-DAC GIST Terminals allow the facility of local printing through its Centronics compatible parallel printer port. Print- ing occurs in a spooled manner in the background, while normal terminal usage can continue in the foreground. 10. Conclusions =============== Although C-DAC has been successful in developing PARAM supercom- puters, it is not able to sell more than a few tens of machines. This is in-fact true for other HPC venders in USA also. The primary reason for this is the performance of workstations is doubling every 18 months and the technology used in building special purpose computers is becoming obsolete too fast. C-DAC will be able to cope up with this with its PARAM OpenFrame archi- tecture, which uses standard commodity hardware and software components. C-DAC's latest machine called PARAM 1000, uses Sun's Ultra-2 and Ultra-4 workstations as its compute and service nodes which are interconnected through ATM, Fast Ethernet, Myrinet, and PARAM-Net*. The programming and runtime environment for this cluster of SMPs (CLUMS) is offered by C-DAC HPCC System Software Components discussed earlier. The commercial viability of this next generation machine is yet to be established. REFERENCES ========== [1] Mohan Ram, Rajkumar et. al., An Operating System for PARAM 9000, Third Conference on Advanced Computing, Tata McGraw Hill Publications, India, 1996. [2] Rajkumar et. al., PEACE Threads Interface on Microkernel, The Third Conference on Advanced Computing, Tata McGraw Hill Publica- tions, India, 1995. [3] V P Bhatkar et al, Philosophy of PARAM 9000, PARAM 9000 - Towards a National High-Performance Information Infrastructure, (c) C-DAC, 1995. [4] P R Eknath et al, PARAM 9000 Systems Architecture Overview, PARAM 9000, (c) C-DAC, 1995. [5] C-DAC, PARAS Microkernel interface manual for PARAS 9000, 1996. [6] Mohan Ram N et al, PARAM 9000 Operating Environment, PARAM 9000, (c) C-DAC, 1995. [7] C-DAC, COncurrent Runtime Environment (CORE) manual, 1996. [8] C-DAC HPCC Software Product Broachers of products exhibited at the 5th International Conference on Advanced Computing (AD- COMP'97) held at Madras, India. C-DAC Contact Address ===================== Centre for Development of Advanced Computing Ramanashree Plaza, 2/1 Brunton Road, Bangalore - 560 025, INDIA Tel : +91-80-5584271, Fax : +91-80-5584893 Tlx : 0845-8413 CDAC IN Email: ssg@cdacb.ernet.in / mohan@cdacb.ernet.in URL: http://cdacb.ernet.in Report By ========= Rajkumar Email: kumar@engineer.com URL: http://members.tripod.com/~buyya -------------------------------------------------------------------