Saturday, August 20, 2011

CSE 101 LECTURE 1

FOR POWER POINT AND RELEVANT SLIDE MAIL ME AT tanvirfalcon@gmail.com

CSE 101 LECTURE 1 SLIDE 9
User Interface
The User interface is what you see when you turn on the computer. It Consists of the cursors, prompts, icons, menus, etc

Operating system provides these facilities for the user:
Program creation : editors, debuggers, other development tools.
Program execution : load, files, IO operations.
Access to IO devices: Read and writes.
Controlled access to files: protection mechanisms, abstraction of underlying device.
System access: Controls who can access the system.
Error detection and response: external, internal, software or hardware error.
Accounting: Collect stats., load sharing , for billing purposes.
Resource Management
Processors : Allocation of processes to processors, preemption, scheduling.
Memory: Allocation of main memory.
IO devices : when to access io devices, which ones etc.
Files: Partitions, space allocation and maintenance.
Applications, Data, objects.
Task Management
• The OS uses interrupt requests (IRQs) to maintain organized communication with the CPU and other pieces of hardware.
• Each hardware device is controlled by a piece of software, called a driver, which allows the OS to activate and use the device.
• The operating system provides the software necessary to link computers and form a network.
File Management
• The operating system keeps track of all the files on each disk.
• Users can make file management easier by creating a hierarchical file system that includes folders and subfolders arranged in a logical order.
Security
 When sharing resources, protection of the systems and user resources from intentional as well as inadvertent misuse.
 Protection generally deals with access control. Ex: Read only file
 Security deals usually with threats from outside the system that affects the integrity and availability of the system and information with the system.
 Example: username, password to access system. Data encryption to protect information.
Utilities
 A utility is a program that performs a task that is not typically handled by the operating system.
 Some utilities enhance the operating system's functionality.
 Some of the major categories of utilities include:
• File defragmentation
• Data compression
• Backup
• Antivirus
• Screen savers

Slide 10
Command Driven Interface
With a command-driven interface, you type in an instruction which is usually abbreviated, in order to get something done. Command Driven user interface is are not easy to use. If you are new to the software then you have to remember many commands in order to be able to use the software quickly.
 Some older operating systems, such as DOS and UNIX, use command-line interfaces.
 In a command-line interface, you type commands at a prompt.
 Under command-line interfaces, individual applications do not need to look or function the same way, so different programs can look very different
Menu Driven Interface
This type of user interface produce a list of commands or options available within a program and the user can make a selection by useing either a mouse or a keyboard. Bothe MS Windows and Machintosh programs are menu driven.
Graphical User Interface:
 Most modern operating systems, like Windows and the Macintosh OS, provide a graphical user interface (GUI).
 A GUI lets you control the system by using a mouse to click graphical objects on screen.
 A GUI is based on the desktop metaphor. Graphical objects appear on a background (the desktop), representing resources you can use.
SLIDE 11
GUI Tools
 Icons are pictures that represent computer resources, such as printers, documents, and programs.
 You double-click an icon to choose (activate) it, for instance, to launch a program.
 The Windows operating system offers two unique tools, called the taskbar and Start button. These help you run and manage programs.
Applications and the Interface
 Applications designed to run under one operating system use similar interface elements.
 Under an OS such as Windows, you see a familiar interface no matter what programs you use.
 In a GUI, each program opens and runs in a separate window—a frame that presents the program and its documents.
 In a GUI, you can run multiple programs at once, each in a separate window. The application in use is said to be the active window.
Menus
 GUI-based programs let you issue commands by choosing them from menus.
 A menu groups related commands. For example, the File menu's commands let you open, save, and print document files.
 Menus let you avoid memorizing and typing command names.
 In programs designed for the same GUI, menus and commands are similar from one program to another
Dialoge Box
 A dialog box is a special window that appears when a program or the OS needs more information before completing a task.
 Dialog boxes are so named because they conduct a "dialog" with the user, asking the user to provide more information or make choices.
WIMP
WIMP stands for windows, icons, menus and pointing devices. The term describes the features of a graphical user interface which make it easier for the user to get things done.

SLIDE-13
Basic Services
• The operating system manages all the other programs that run on the PC.
• The operating system provides services to programs and the user, including file management, memory management, and printing
• To provide services to programs, the OS makes system calls—requesting other hardware and software resources to perform tasks.
Sharing Information
• Some operating systems, such as Windows, enable programs to share information.
• You can create data in one program and use it again in other programs without re-creating it.
• Windows provides the Clipboard, a special area that stores data cut or copied from one document, so you can re-use it elsewhere.
Multi-tasking
• Multitasking is the capability of running multiple processes simultaneously.
• A multitasking OS lets you run multiple programs at the same time.
• Through multitasking, you can do several chores at one time, such as printing a document while downloading a file from the Internet.
• There are two types of multitasking: cooperative and preemptive.
Slid-14
System Software :
System Software refers to the operating system and all utility programs that manage computer resources at a low level. Systems software includes compilers, loaders, linkers, and debuggers.
System Software can be devided in major 3 criteria
1. System Management Program
2. System Support Program
3. System Development Program
System Management Program
1. Operating System
2. Network Management
3. Device Driver
System Sopport Program
1. System Utility Program
2. System Performance monitor program
3. System Security Monitor Program
System Development Program
1. Programming Language Translator
2. Programming editor and tools
3. Computer Aided Software Engineering (CASE)
Application Software
Applications software comprises programs designed for an end user, such as word processors, database systems, and spreadsheet programs.
Application Software can be divided in major criteria
General Application Program
Specific Application Program
General Application Program
Some of the General Application Program are
Software Suite – MS Office, Lotus smart Suit, Coral Word Perfect Office
Web Browser – Internet Explorer, Netscape, Opera.
Electronic Mail - e-mail, Eudora, etc
Desktop publishing - Page maker, Publisher
Database Management System – Oracle, Access, dBase
Specific Application Program
Some of the Specific Application Program are: Accounting Software, Sales Management, E-commerce, Inventory control, Pay roll system, Ticket reservation, etc
SLIDE-24
Concise industry history of Supercomputer
Supercomputers introduced in the 1960s were designed primarily by Seymour Cray at Control Data Corporation (CDC), and led the market into the 1970s until Cray left to form his own company, Cray Research. He then took over the supercomputer market with his new designs, holding the top spot in supercomputing for 5 years (1985–1990). Cray, himself, never used the word "supercomputer," a little-remembered fact in that he only recognized the word "computer." In the 1980s a large number of smaller competitors entered the market, in a parallel to the creation of the minicomputer market a decade earlier, but many of these disappeared in the mid-1990s "supercomputer market crash". Today, supercomputers are typically one-of-a-kind custom designs produced by "traditional" companies such as IBM and HP, who had purchased many of the 1980s companies to gain their experience, although Cray Inc. still specializes in building supercomputers.
The Cray-2 was the world's fastest computer from 1985 to 1989.
The term supercomputer itself is rather fluid, and today's supercomputer tends to become tomorrow's normal computer. CDC's early machines were simply very fast scalar processors, some ten times the speed of the fastest machines offered by other companies. In the 1970s most supercomputers were dedicated to running a vector processor, and many of the newer players developed their own such processors at a lower price to enter the market. The early and mid-1980s saw machines with a modest number of vector processors working in parallel become the standard. Typical numbers of processors were in the range 4–16. In the later 1980s and 1990s, attention turned from vector processors to massive parallel processing systems with thousands of "ordinary" CPUs, some being off the shelf units and others being custom designs. (This is commonly and humorously referred to as the attack of the killer micros in the industry.) Today, parallel designs are based on "off the shelf" server-class microprocessors, such as the PowerPC, Itanium, or x86-64, and most modern supercomputers are now highly-tuned computer clusters using commodity processors combined with custom interconnects.
Software tools
Software tools for distributed processing include standard APIs such as MPI and PVM, and open source-based software solutions such as Beowulf and openMosix which facilitate the creation of a supercomputer from a collection of ordinary workstations or servers. Technology like ZeroConf (Rendezvous/Bonjour) can be used to create ad hoc computer clusters for specialized software such as Apple's Shake compositing application. An easy programming language for supercomputers remains an open research topic in computer science.
Common uses
Supercomputers are used for highly calculation-intensive tasks such as problems involving quantum mechanical physics, weather forecasting, climate research (including research into global warming), molecular modeling (computing the structures and properties of chemical compounds, biological macromolecules, polymers, and crystals), physical simulations (such as simulation of airplanes in wind tunnels, simulation of the detonation of nuclear weapons, and research into nuclear fusion), cryptanalysis, and the like. Major universities, military agencies and scientific research laboratories are heavy users.
A particular class of problems, known as Grand Challenge problems, are problems whose full solution requires semi-infinite computing resources.
Relevant here is the distinction between capability computing and capacity computing, as defined by Graham et al. Capability computing is typically thought of as using the maximum computing power to solve a large problem in the shortest amount of time. Oftentimes a capability system is able to solve a problem of a size or complexity that no other computer can. Capacity computing in contrast is typically thought of as using efficient cost-effective computing power to solve somewhat large problems or many small problems or to prepare for a run on a capability system.
Hardware and software design
Processor board of a CRAY YMP vector computer
Supercomputers using custom CPUs traditionally gained their speed over conventional computers through the use of innovative designs that allow them to perform many tasks in parallel, as well as complex detail engineering. They tend to be specialized for certain types of computation, usually numerical calculations, and perform poorly at more general computing tasks. Their memory hierarchy is very carefully designed to ensure the processor is kept fed with data and instructions at all times—in fact, much of the performance difference between slower computers and supercomputers is due to the memory hierarchy. Their I/O systems tend to be designed to support high bandwidth, with latency less of an issue, because supercomputers are not used for transaction processing.
As with all highly parallel systems, Amdahl's law applies, and supercomputer designs devote great effort to eliminating software serialization, and using hardware to accelerate the remaining bottlenecks.
Supercomputer challenges, technologies
A supercomputer generates large amounts of heat and must be cooled. Cooling most supercomputers is a major HVAC problem.
Information cannot move faster than the speed of light between two parts of a supercomputer. For this reason, a supercomputer that is many meters across must have latencies between its components measured at least in the tens of nanoseconds. Seymour Cray's supercomputer designs attempted to keep cable runs as short as possible for this reason: hence the cylindrical shape of his Cray range of computers. In modern supercomputers built of many conventional CPUs running in parallel, latencies of 1-5 microseconds to send a message between CPUs are typical.
Supercomputers consume and produce massive amounts of data in a very short period of time. According to Ken Batcher, "A supercomputer is a device for turning compute-bound problems into I/O-bound problems." Much work on external storage bandwidth is needed to ensure that this information can be transferred quickly and stored/retrieved correctly.
Technologies developed for supercomputers include:
Vector processing
Liquid cooling
Non-Uniform Memory Access (NUMA)
Striped disks (the first instance of what was later called RAID)
Parallel filesystems
Processing techniques
Vector processing techniques were first developed for supercomputers and continue to be used in specialist high-performance applications. Vector processing techniques have trickled down to the mass market in DSP architectures and SIMD processing instructions for general-purpose computers.
Modern video game consoles in particular use SIMD extensively and this is the basis for some manufacturers' claim that their game machines are themselves supercomputers. Indeed, some graphics cards have the computing power of several TeraFLOPS. The applications to which this power can be applied was limited by the special-purpose nature of early video processing. As video processing has become more sophisticated, Graphics processing units (GPUs) have evolved to become more useful as general-purpose vector processors, and an entire computer science sub-discipline has arisen to exploit this capability: General-Purpose Computing on Graphics Processing Units (GPGPU.)
Operating systems
Supercomputers predominantly run some variant of Linux or UNIX. Linux is the most popular since 2004
Supercomputer operating systems, today most often variants of Linux or UNIX, are every bit as complex as those for smaller machines, if not more so. Their user interfaces tend to be less developed, however, as the OS developers have limited programming resources to spend on non-essential parts of the OS (i.e., parts not directly contributing to the optimal utilization of the machine's hardware). This stems from the fact that because these computers, often priced at millions of dollars, are sold to a very small market, their R&D budgets are often limited. (The advent of Unix and Linux allows reuse of conventional desktop software and user interfaces.)
Interestingly this has been a continuing trend throughout the supercomputer industry, with former technology leaders such as Silicon Graphics taking a back seat to such companies as NVIDIA, who have been able to produce cheap, feature-rich, high-performance, and innovative products due to the vast number of consumers driving their R&D.
Historically, until the early-to-mid-1980s, supercomputers usually sacrificed instruction set compatibility and code portability for performance (processing and memory access speed). For the most part, supercomputers to this time (unlike high-end mainframes) had vastly different operating systems. The Cray-1 alone had at least six different proprietary OSs largely unknown to the general computing community. Similarly different and incompatible vectorizing and parallelizing compilers for Fortran existed. This trend would have continued with the ETA-10 were it not for the initial instruction set compatibility between the Cray-1 and the Cray X-MP, and the adoption of UNIX operating system variants (such as Cray's Unicos and today's Linux.)
For this reason, in the future, the highest performance systems are likely to have a UNIX flavor but with incompatible system-unique features (especially for the highest-end systems at secure facilities).
Programming
The parallel architectures of supercomputers often dictate the use of special programming techniques to exploit their speed. Special-purpose Fortran compilers can often generate faster code than C or C++ compilers, so Fortran remains the language of choice for scientific programming, and hence for most programs run on supercomputers. To exploit the parallelism of supercomputers, programming environments such as PVM and MPI for loosely connected clusters and OpenMP for tightly coordinated shared memory machines are being used.
Modern supercomputer architecture
The Columbia Supercomputer at NASA's Advanced Supercomputing Facility at Ames Research Center
As of November 2006, the top ten supercomputers on the Top500 list (and indeed the bulk of the remainder of the list) have the same top-level architecture. Each of them is a cluster of MIMD multiprocessors, each processor of which is SIMD. The supercomputers vary radically with respect to the number of multiprocessors per cluster, the number of processors per multiprocessor, and the number of simultaneous instructions per SIMD processor. Within this hierarchy we have:
A computer cluster is a collection of computers that are highly interconnected via a high-speed network or switching fabric. Each computer runs under a separate instance of an Operating System (OS).
A multiprocessing computer is a computer, operating under a single OS and using more than one CPU, where the application-level software is indifferent to the number of processors. The processors share tasks using Symmetric multiprocessing(SMP) and Non-Uniform Memory Access(NUMA).
An SIMD processor executes the same instruction on more than one set of data at the same time. The processor could be a general purpose commodity processor or special-purpose vector processor. It could also be high performance processor or a low power processor.
As of November 2006, the fastest machine is Blue Gene/L. This machine is a cluster of 65,536 computers, each with two processors, each of which processes two data streams concurrently. By contrast, Columbia is a cluster of 20 machines, each with 512 processors, each of which processes two data streams concurrently.
As of 2005, Moore's Law and economies of scale are the dominant factors in supercomputer design: a single modern desktop PC is now more powerful than a 15-year old supercomputer, and the design concepts that allowed past supercomputers to out-perform contemporaneous desktop machines have now been incorporated into commodity PCs. Furthermore, the costs of chip development and production make it uneconomical to design custom chips for a small run and favor mass-produced chips that have enough demand to recoup the cost of production. A current model quad core Xeon workstation running at 2.66Ghz will outperform a multimillion dollar cray C90 supercomputer used in the early 1990s, lots of workloads requiring such a supercomputer in the 1990s can now be done on workstations costing less than 4000 US dollars.
Additionally, many problems carried out by supercomputers are particularly suitable for parallelization (in essence, splitting up into smaller parts to be worked on simultaneously) and, particularly, fairly coarse-grained parallelization that limits the amount of information that needs to be transferred between independent processing units. For this reason, traditional supercomputers can be replaced, for many applications, by "clusters" of computers of standard design which can be programmed to act as one large computer.
Special-purpose supercomputers
Special-purpose supercomputers are high-performance computing devices with a hardware architecture dedicated to a single problem. This allows the use of specially programmed FPGA chips or even custom VLSI chips, allowing higher price/performance ratios by sacrificing generality. They are used for applications such as astrophysics computation and brute-force codebreaking. Historically a new special-purpose supercomputer has occasionally been faster than the world's fastest general-purpose supercomputer, by some measure. For example, GRAPE-6 was faster than the Earth Simulator in 2002 for a particular special set of problems.
Examples of special-purpose supercomputers:
Deep Blue, for playing chess
Reconfigurable computing machines or parts of machines
GRAPE, for astrophysics and molecular dynamics
Deep Crack, for breaking the DES cipher
The fastest supercomputers today
Measuring supercomputer speed
The speed of a supercomputer is generally measured in "FLOPS" (FLoating Point Operations Per Second), commonly used with an SI prefix such as tera-, combined into the shorthand "TFLOPS" (1012 FLOPS, pronounced teraflops), or peta-,combined into the shorthand "PFLOPS" (1015 FLOPS, pronounced petaflops.) This measurement is based on a particular benchmark which does LU decomposition of a large matrix. This mimics a class of real-world problems, but is significantly easier to compute than a majority of actual real-world problems.
Current fastest supercomputer system
Roadrunner is a supercomputer built by IBM at the Los Alamos National Laboratory in New Mexico, USA. Currently the world's fastest computer, Price - US$133-million = TK 919,99,99,977.00
Courtesy: Wikipedia.com
SLIDE-27
Mainframes (often colloquially referred to as Big Iron) are computers used mainly by large organizations for critical applications, typically bulk data processing such as census, industry and consumer statistics, ERP, and financial transaction processing.
The term probably originated from the early mainframes, as they were housed in enormous, room-sized metal boxes or frames. [1] Later the term was used to distinguish high-end commercial machines from less powerful units which were often contained in smaller packages.
Today in practice, the term usually refers to computers compatible with the IBM System/360 line, first introduced in 1965. (IBM System z9 is IBM's latest incarnation.) Otherwise, systems with similar functionality but not based on the IBM System/360 are referred to as "servers." However, "server" and "mainframe" are not synonymous (see client-server).
Some non-System/360-compatible systems derived from or compatible with older (pre-Web) server technology may also be considered mainframes. These include the Burroughs large systems and the UNIVAC 1100/2200 series systems. Most large-scale computer system architectures were firmly established in the 1960s and most large computers were based on architecture established during that era up until the advent of Web servers in the 1990s. (Interestingly, the first Web server running anywhere outside Switzerland ran on an IBM mainframe at Stanford University as early as 1990. See History of the World Wide Web for details.)
There were several minicomputer operating systems and architectures that arose in the 1970s and 1980s, but minicomputers are generally not considered mainframes. (UNIX arose as a minicomputer operating system; Unix has scaled up over the years to acquire some mainframe characteristics.)
Many defining characteristics of "mainframe" were established in the 1960s, but those characteristics continue to expand and evolve to the present day.

Description
Modern mainframe computers have abilities not so much defined by their single task computational speed (flops or clock rate) as by their redundant internal engineering and resulting high reliability and security, extensive input-output facilities, strict backward compatibility for older software, and high utilization rates to support massive throughput. These machines often run for years without interruption, with repairs and even software and hardware upgrades taking place during normal operation. For example, ENIAC remained in continuous operation from 1947 to 1955. More recently, there are several IBM mainframe installations that have delivered over a decade of continuous business service as of 2007, with upgrades not interrupting service. Mainframes are defined by high availability, one of the main reasons for their longevity, as they are used in applications where downtime would be costly or catastrophic. The term Reliability, Availability and Serviceability (RAS) is a defining characteristic of mainframe computers.
In the 1960s, most mainframes had no interactive interface. They accepted sets of punch cards, paper tape, and/or magnetic tape and operated solely in batch mode to support back office functions, such as customer billing. Teletype devices were also common, at least for system operators. By the early 1970s, many mainframes acquired interactive user interfaces and operated as timesharing computers, supporting hundreds or thousands of users simultaneously along with batch processing. Users gained access through specialized terminals or, later, from personal computers equipped with terminal emulation software. Many mainframes supported graphical terminals (and terminal emulation) by the 1980s (if not earlier). Nowadays most mainframes have partially or entirely phased out classic user terminal access in favor of Web user interfaces.
Historically mainframes acquired their name in part because of their substantial size and requirements for specialized HVAC and electrical power. Those requirements ended by the mid-1990s, with CMOS mainframe designs replacing the older bipolar technology. In fact, in a major reversal, IBM touts the mainframe's ability to reduce data center energy costs for power and cooling and reduced physical space requirements compared to server farms.
Characteristics of mainframes
Nearly all mainframes have the ability to run (or "host") multiple operating systems and thereby operate not as a single computer but as a number of virtual machines. In this role, a single mainframe can replace dozens or even hundreds of smaller servers, reducing management and administrative costs while providing greatly improved scalability and reliability.
Mainframes can add system capacity nondisruptively and granularly. Modern mainframes, notably the IBM zSeries and System z9 servers, offer three levels of virtualization: logical partitions (LPARs, via the PR/SM facility), virtual machines (via the z/VM operating system), and through its operating systems (notably z/OS with its key-protected address spaces and sophisticated goal-oriented workload scheduling, but also Linux and Java). This virtualization is so thorough, so well established, and so reliable that most IBM mainframe customers run no more than two machines: one in their primary data center, and one in their backup data center (fully active, partially active, or on standby, in case there is a catastrophe affecting the first building). All test, development, training, and production workload for all applications and all databases can run on a single machine, except for extremely large demands where the capacity of one machine might be limiting. Such a two mainframe installation can support continuous business service, avoiding both planned and unplanned outages.
Mainframes are designed to handle very high volume input and output (I/O) and emphasize throughput computing. Since the mid-1960's, mainframe designs have included several subsidiary computers (called channels or peripheral processors) which manage the I/O devices, leaving the CPU free to deal only with high-speed memory. It is common in mainframe shops to deal with massive databases and files. Giga-record or tera-record files are not unusual. Compared to a typical PC, mainframes commonly have hundreds to thousands of times as much data storage online, and can access it much faster.
Mainframe return on investment (ROI), like any other computing platform, is dependent on its ability to scale, support mixed workloads, reduce labor costs, deliver uninterrupted service for critical business applications, and several other risk-adjusted cost factors. Some argue that the modern mainframe is not cost-effective. Hewlett-Packard and Dell unsurprisingly take that view at least at times, and so do a few independent analysts. Sun Microsystems used to take that view but, beginning in mid-2007, started promoting its new partnership with IBM, including probable support for the company's OpenSolaris operating system running on IBM mainframes. The general consensus (held by Gartner and other independent analysts) is that the modern mainframe often has unique value and superior cost-effectiveness, especially for large scale enterprise computing. In fact, Hewlett-Packard also continues to manufacture its own mainframe (arguably), the NonStop system originally created by Tandem. Logical partitioning is now found in many high-end UNIX-based servers, and many vendors are promoting virtualization technologies, in many ways validating the mainframe's design accomplishments.
Mainframes also have unique execution integrity characteristics for fault tolerant computing. System z9 servers execute each instruction twice, compare results, and shift workloads "in flight" to functioning processors, including spares, without any impact to applications or users. This feature, also found in HP's NonStop systems, is known as lock-stepping, because both processors take their "steps" (i.e. instructions) together. Not all applications absolutely need the assured integrity that these systems provide, but many do, such as financial transaction processing.
Despite these differences, the IBM mainframe, in particular, is still a general purpose business computer in terms of its support for a wide variety of popular operating systems, middleware, and applications.
Market
As of early 2006, IBM mainframes dominate the mainframe market at well over 90% market share, however IBM is not the only vendor. Unisys manufactures ClearPath mainframes, based on earlier Sperry and Burroughs product lines. Fujitsu's Nova systems are rebranded Unisys ES7000's. Hitachi co-developed the zSeries 800 with IBM to share expenses. Hewlett-Packard sells its unique NonStop systems, which it acquired with Tandem Computers, and Groupe Bull's DPS mainframes are available in Europe. Unisys and HP increasingly rely on commodity Intel CPUs rather than custom processors in order to reduce development expenses, while IBM has its own large research and development organization to introduce new, homegrown mainframe technologies.
History
Several manufacturers produced mainframe computers from the late 1950s through the 1970s. At this time they were known as "IBM and the Seven Dwarfs": Burroughs, Control Data, General Electric, Honeywell, NCR, RCA, and UNIVAC. IBM's dominance grew out of their 700/7000 series and, later, the development of the 360 series mainframes. The latter architecture has continued to evolve into their current zSeries/z9 mainframes which, along with the then Burroughs and now Unisys MCP-based mainframes, are among the few mainframe architectures still extant that can trace their roots to this early period. That said, while they can still run 24-bit System/360 code, the 64-bit zSeries and System z9 CMOS servers have nothing physically in common with the older systems. The larger of the latter IBM competitors were also often referred to as "The BUNCH" from their initials (Burroughs, UNIVAC, NCR, CDC, Honeywell). Notable manufacturers outside the USA were Siemens and Telefunken in Germany, ICL in the United Kingdom, and Fujitsu, Hitachi, Oki, and NEC in Japan. The Soviet Union and Warsaw Pact countries manufactured close copies of IBM mainframes during the Cold War; the Strela is an example of an independently designed Soviet computer.
Shrinking demand and tough competition caused a shakeout in the market in the early 1980s — RCA sold out to UNIVAC and GE also left; Honeywell was bought out by Bull; UNIVAC became a division of Sperry, which later merged with Burroughs to form Unisys Corporation in 1986. In 1991, AT&T briefly owned NCR. During the same period, companies found that servers based on microcomputer designs could be deployed at a fraction of the acquisition price and offer local users much greater control over their own systems given the IT policies and practices at that time. Terminals used for interacting with mainframe systems were gradually replaced by personal computers. Consequently, demand plummeted and new mainframe installations were restricted mainly to financial services and government. In the early 1990s, there was a consensus among industry analysts that the mainframe was a dying market as mainframe platforms were increasingly replaced by personal computer networks.
That trend started to turn around in the late 1990s as corporations found new uses for their existing mainframes and as the price of data networking collapsed in most parts of the world. The growth of e-business also dramatically increased the number of back-end transactions processed by mainframe software as well as the size and throughput of databases. Another factor currently increasing mainframe use is the development of the Linux operating system, which can run on many mainframe systems, typically in virtual machines. Linux allows users to take advantage of open source software combined with mainframe hardware RAS. Rapid expansion and development in emerging markets, particularly China, is also spurring major mainframe investments to solve exceptionally difficult computing problems, e.g. providing unified, extremely high volume online transaction processing databases for 1 billion consumers across multiple industries (banking, insurance, credit reporting, government services, etc.)
Mainframes vs. supercomputers
The distinction between supercomputers and mainframes is not a hard and fast one, but supercomputers generally focus on problems which are limited by calculation speed while mainframes focus on problems which are limited by input/output and reliability ("throughput computing") and on solving multiple business problems concurrently (mixed workload). The differences and similarities include:
Both types of systems offer parallel processing. Supercomputers typically expose it to the programmer in complex manners, while mainframes typically use it to run multiple tasks. One result of this difference is that adding processors to a mainframe often speeds up the entire workload transparently.
Supercomputers are optimized for complicated computations that take place largely in memory, while mainframes are optimized for comparatively simple computations involving huge amounts of external data. For example, weather forecasting is suited to supercomputers, and insurance business or payroll processing applications are more suited to mainframes.
Supercomputers are often purpose-built for one or a very few specific institutional tasks (e.g. simulation and modeling). Mainframes typically handle a wider variety of tasks (e.g. data processing, warehousing). Consequently, most supercomputers can be one-off designs, whereas mainframes typically form part of a manufacturer's standard model lineup.
Mainframes tend to have numerous ancillary service processors assisting their main central processors (for cryptographic support, I/O handling, monitoring, memory handling, etc.) so that the actual "processor count" is much higher than would otherwise be obvious. Supercomputer design tends not to include as many service processors since they don't appreciably add to raw number-crunching power.
There has been some blurring of the term "mainframe," with some PC and server vendors referring to their systems as "mainframes" or "mainframe-like." This is not widely accepted and the market generally recognizes that mainframes are genuinely and demonstrably different.
Statistics
An IBM zSeries 800 (foreground, left) running Linux.
Historically 85% of all mainframe programs were written in the COBOL programming language. The remainder included a mix of PL/I (about 5%), Assembly language (about 7%), and miscellaneous other languages. eWeek estimates that millions of lines of net new COBOL code are still added each year, and there are nearly 1 million COBOL programmers worldwide, with growing numbers in emerging markets. Even so, COBOL is decreasing as a percentage of the total mainframe lines of code in production because Java, C, and C++ are all growing faster. Even then COBOL remains to be the most widely used language for developement in mainframe environment as it is most suited for business logic programming which is why the mainframes are really deployed.
Mainframe COBOL has recently acquired numerous Web-oriented features, such as XML parsing, with PL/I following close behind in adopting modern language features.
90% of IBM's mainframes have CICS transaction processing software installed.[2] Other software staples include the IMS and DB2 databases, and WebSphere MQ and WebSphere Application Server middleware.
As of 2004, IBM claimed over 200 new (21st century) mainframe customers — customers that had never previously owned a mainframe. Many are running Linux, some exclusively. There are new z/OS customers as well, frequently in emerging markets and among companies looking to improve service quality and reliability.
In May, 2006, IBM claimed that over 1,700 mainframe customers are running Linux. Nomura Securities of Japan spoke at LinuxWorld in 2006 and is one of the largest publicly known, with over 200 IFLs in operation that replaced rooms full of distributed servers.
Most mainframes run continuously at over 70% busy. A 90% figure is typical, and modern mainframes tolerate sustained periods of 100% CPU utilization, queuing work according to business priorities without disrupting ongoing execution.
Mainframes have a historical reputation for being "expensive," but the modern reality is much different. As of late 2006, it is possible to buy and configure a complete IBM mainframe system (with software, storage, and support), under standard commercial use terms, for about $50,000 (U.S.), equivalent to approximately 50% of the full annual cost of only one IT employee. The price of z/OS starts at about $1,500 (U.S.) per year, including 24x7 telephone and Web support.[3]
Speed and performance
The CPU speed of mainframes has historically been measured in millions of instructions per second (MIPS). MIPS have been used as an easy comparative rating of the speed and capacity of mainframes. The smallest System z9 IBM mainframes today run at about 26 MIPS and the largest about 17,801 MIPS. IBM's Parallel Sysplex technology can join up to 32 of these systems, making them behave like a single, logical computing facility of as much as about 569,632 MIPS.[4]
The MIPS measurement has long been known to be misleading and has often been parodied as "Meaningless Indicator of Processor Speed." The complex CPU architectures of modern mainframes have reduced the relevance of MIPS ratings to the actual number of instructions executed. Likewise, the modern "balanced performance" system designs focus both on CPU power and on I/O capacity, and virtualization capabilities make comparative measurements even more difficult. See benchmark (computing) for a brief discussion of the difficulties in benchmarking such systems. IBM has long published a set of LSPR (Large System Performance Reference) ratio tables for mainframes that take into account different types of workloads and are a more representative measurement. However, these comparisons are not available for non-IBM systems. It takes a fair amount of work (and maybe guesswork) for users to determine what type of workload they have and then apply only the LSPR values most relevant to them.
To give some idea of real world experience, it is typical for a single mainframe CPU to execute the equivalent of 50, 100, or even more distributed processors' worth of business activity, depending on the workloads. Merely counting processors to compare server platforms is extremely perilous.
Courtesy: Wikipedia.com

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.