COMP 3000 Essay 1 2010 Question 3: Difference between revisions
added one weakness of windows clusters |
|||
(4 intermediate revisions by one other user not shown) | |||
Line 4: | Line 4: | ||
=Answer= | =Answer= | ||
'''This essay does a good job of discussing how Windows provides mainframe-class capabilities; it does not do a good job of addressing where it falls short. --Anil''' | |||
Throughout the years, Windows has undergone some rather radical changes by modernizing existing technologies and providing innovation to existing features; this resulted in having functionality equivalent to that of a mainframe computer. However, although these changes have been extensive, Windows has not been particularly dominant when it comes to replacing modern mainframe systems. | Throughout the years, Windows has undergone some rather radical changes by modernizing existing technologies and providing innovation to existing features; this resulted in having functionality equivalent to that of a mainframe computer. However, although these changes have been extensive, Windows has not been particularly dominant when it comes to replacing modern mainframe systems. | ||
Line 32: | Line 34: | ||
== Backwards-Compatibility == | == Backwards-Compatibility == | ||
Backwards-compatibility means that the newer software version can recognize what the old version write and how it work. It is a relationship between the two versions. If the new components provide all the functionality of the old one, we said that the new component is backwards compatible.In computer mainframe era, many applications are backwards compatible.For example,the code written 20 years ago in IBM System/360 can be run in latest mainframe (like zSeries, System/390 family,System z9,etc).This because that models in mainframe computer provide a combination of special hardware,special microcode and an emulation program to simulate the target system.(The IBM 7080 transistorized computer was backward compatible with all models of the IBM 705 vacuum tube computer.) | Backwards-compatibility means that the newer software version can recognize what the old version write and how it work. It is a relationship between the two versions. If the new components provide all the functionality of the old one, we said that the new component is backwards compatible.In computer mainframe era, many applications are backwards compatible.For example,the code written 20 years ago in IBM System/360 can be run in latest mainframe (like zSeries, System/390 family,System z9,etc).This because that models in mainframe computer provide a combination of special hardware,special microcode and an emulation program to simulate the target system.(The IBM 7080 transistorized computer was backward compatible with all models of the IBM 705 vacuum tube computer.) | ||
In Windows OS,one method to implement backwards-compatibility is to add applications.Like Microsoft Windows Application Compatibility Toolkit.This application can make the | In Windows OS,one method to implement backwards-compatibility is to add applications. Like Microsoft Windows Application Compatibility Toolkit.This application can make the platform to be compatible with most softwares from early version.The second method is the Windows Operating Systems usually have various subsystems.The software originally designed for older version or other OSs can be run in the subsystems.Such as Window NT, it has MS-DOS and Win16 subsystems. Virtualization (running an older version of the OS on top of the new one) can also be used to enable old applications to run. (Windows 7 can do this with its virtualized XP subsystem.) The third method is to use shims to create the backwards-compatibility. Shims are just like the small libraries that can intercept the API, change parameters passed,handle and redirect the operations. In Windows OS,we can use shims to simulate the behaviors of old version OS for legacy softwares. | ||
== I/O and Resource Management == | == I/O and Resource Management == | ||
Line 44: | Line 46: | ||
In general, however, the most popular solution to solve problems that require large throughput would be to construct a cluster model. Most businesses require the reliability of clusters, even though it sacrifices performance; there is no competition to the hight availability of a cluster server as compared to the grid model.[http://www.dba-oracle.com/real_application_clusters_rac_grid/grid_vs_clusters.htm] | In general, however, the most popular solution to solve problems that require large throughput would be to construct a cluster model. Most businesses require the reliability of clusters, even though it sacrifices performance; there is no competition to the hight availability of a cluster server as compared to the grid model.[http://www.dba-oracle.com/real_application_clusters_rac_grid/grid_vs_clusters.htm] | ||
== Weaknesses of Cluster Computing == | |||
Although are strong at duplicating duplicating mainframe capability it does have it's own weaknesses. One such weakness is that adding extra computers to a cluster may not cause the system to run faster. Depending on the type of process required to run there will be no increase in speed and in some cases a decrease in speed. When the a OSEM (Ordered subset expectation–maximization) algorithm or a Katsevich algorithm is run, the ideal number of computer in the cluster is in fact different. In the OSEM algorithm has a linear speed-up for each added node until the 10th node and then has a plateau of speed increase. Whereas the Katsevich algorithm has a linear speed increase until the 16th node added[http://www.cs.uiowa.edu/~jni/publications/2006a%20Tao%20He%20IMSCCS06.pdf]. So depending on the process the clusters can handle the operation better or worse. | |||
== Conclusion == | == Conclusion == | ||
Line 85: | Line 90: | ||
<http://searchcio-midmarket.techtarget.com/sDefinition/0,,sid183_gci213140,00.html> | <http://searchcio-midmarket.techtarget.com/sDefinition/0,,sid183_gci213140,00.html> | ||
=== Weaknesses of Cluster Computing === | |||
Tao He, Jun Ni and Ge Wang,"A Heterogeneous Windows Cluster System for Medical Image Reconstruction",Proceedings of the 35th annual ACM/IEEE international symposium on Microarchitecture, IEEE, 2008, http://www.cs.uiowa.edu/~jni/publications/2006a%20Tao%20He%20IMSCCS06.pdf, (2010-11-09) |
Latest revision as of 14:33, 9 November 2010
Question
To what extent do modern Windows systems provide mainframe-equivalent functionality? What about Windows coupled with add-on commercial products such as VMWare's virtualization and EMC's storage solutions? Explain.
Answer
This essay does a good job of discussing how Windows provides mainframe-class capabilities; it does not do a good job of addressing where it falls short. --Anil
Throughout the years, Windows has undergone some rather radical changes by modernizing existing technologies and providing innovation to existing features; this resulted in having functionality equivalent to that of a mainframe computer. However, although these changes have been extensive, Windows has not been particularly dominant when it comes to replacing modern mainframe systems.
Mainframes
Mainframe systems have always had a good reputation for being used by large organizations in order to process thousands of small transactions. Whether these systems are used by the bank or by a police department, they possess several key features which make them exceedingly more powerful when compared to other systems. One of these features is an extensive and prolonged stability. This is a result of having tremendous redundancy and exception handling which prevents the entire system from shutting down, even if some components are inactive due to unforeseen circumstances. Because of this, mainframe computers are incredibly reliable when it comes to data storage and interoperability.
With this in mind, another neat feature that a mainframe possesses is the ability to hot swap components without taking the system offline. Consequently, components that are malfunctioning or require an upgrade can safely be replaced without endangering system stability. As a result mainframes gain a broad life spectrum as components can be upgraded individually without having to replace the entire system. Additionally, software written for these machines is extremely backwards compatible. The reason behind this is the fact that mainframe computers are fully virtualized. This is what allows a mainframe to run software that could have been written decades ago while still being able to run alongside modern software and hardware. In addition, this is part of the reason why mainframe computers are so secure, it is because they can use a combination of newer and older software as well as hardware to take years of innovation and combine it into one secure platform.
Unfortunately, all these features would mean nothing if the mainframe could not keep up with the data being sent and received. As a result, computers of this calibre must be able to have good I/O resource management as well as protect against bottlenecks. They do this by supporting powerful schedulers which ensure the fastest possible throughput for transaction processing [1]. Without this, you could continuously be upgrading components but suffer diminishing returns.
With so many features, how is Windows expected to keep up? The reality is Windows already supports most of these features. And when coupled with addon software such as VMWare and EMC storage solutions, the capabilities are even more astounding.
Redundancy
A large feature of mainframes is their ability for redundancy. Mainframes produce redundancy by using the provider's off-site redundancy faeture. This feature lets the customer move all of their processes and applications onto the providers mainframe while the provider makes repairs on the customers system. Another way that mainframes create redundancy is their use of multi-processors that share the same memory. If one processor dies, the rest of the processors still keep all of the cache.
There are multiple ways windows systems can create this redundancy feature that mainframes have. The first way windows systems can create this is by creating a windows cluster server. The cluster uses the same feature of the mainframe's multi-processor system.This service allows multiple Windows machines to be connected as nodes in a cluster; where each node has the same applications and only one node is online at any point in time. If a node in the cluster fails, another will take over. The failing node can then be restarted or replaced without serious downtime. However this service does not offer fault tolerance to the same extent as actual mainframes. Another way windows systems can create redundancy is by using virtual machines. VMWare has a feature called Microsoft Cluster Service, which allows users to create a cluster of virtual machines on one physical windows system (or multiple physical machines). The virtual machines set up two different networks. They create a private network for communication in between the virtual machines and then a public network to control I/O services. The virtual machines also share storage to create concurrency so that if one fails, the other still has all of the data.But if the failure is on the Windows host machine then they will all fail. The virtual cluster can be maintained across multiple machines, allowing multiple users to have the reliability of clusters on fewer machines.
No downtime upgrades
A useful feature that mainframes have is the ability to hot-swap. Hot-swapping is the ability to swap out components of a computer/mainframe for new components with no downtime (i.e. the system continues to run through this process). Hot-swapping occurs when there is faulty hardware in one of the processors inside the mainframe. Technicians are able to swap out this component without the mainframe being turned off or crashing. Hot-swapping is also used when upgrading processors, memory and storage inside the mainframe. With the right software and setup (redundancy) a mainframe is able to be upgraded and/or repaired as is sees fit by adding and removing components such as hard drives and processors.
Using VMWare on a Windows system allows users to hot-add RAM and hot-plug adds a new virtual CPU to the virtualized system. Using these hot-adding and hot-plugging techniques the virtual computer can grow in size to be able to accept loads varying in size. Due to some circumstances with different CPU's and guest OS's, the virtual machine may have to restart and is unable to hot-add/hot-plug. For example, the virtual machine of a Windows Server 2008 ENT x64 OS allows you to hot-add memory but you must restart it to remove memory and to add/remove CPU.
In non-virtual systems, Windows coupled with the program Go-HotSwap can hot-plug CompactPCI components. CompactPCI components allow many different devices to be plugged into their slots (e.g. multiple SATA hard drives) which makes a Windows system with these technologies very modular. The Windows Server 2008 R2 Datacenter released in 2009 uses dynamic hardware partitioning. Dynamic hardware partitioning means that its hardware can be partitioned into separate hardware with processors and other components which allows for hot-swapping/hot-adding of these partitions where needed.
Backwards-Compatibility
Backwards-compatibility means that the newer software version can recognize what the old version write and how it work. It is a relationship between the two versions. If the new components provide all the functionality of the old one, we said that the new component is backwards compatible.In computer mainframe era, many applications are backwards compatible.For example,the code written 20 years ago in IBM System/360 can be run in latest mainframe (like zSeries, System/390 family,System z9,etc).This because that models in mainframe computer provide a combination of special hardware,special microcode and an emulation program to simulate the target system.(The IBM 7080 transistorized computer was backward compatible with all models of the IBM 705 vacuum tube computer.)
In Windows OS,one method to implement backwards-compatibility is to add applications. Like Microsoft Windows Application Compatibility Toolkit.This application can make the platform to be compatible with most softwares from early version.The second method is the Windows Operating Systems usually have various subsystems.The software originally designed for older version or other OSs can be run in the subsystems.Such as Window NT, it has MS-DOS and Win16 subsystems. Virtualization (running an older version of the OS on top of the new one) can also be used to enable old applications to run. (Windows 7 can do this with its virtualized XP subsystem.) The third method is to use shims to create the backwards-compatibility. Shims are just like the small libraries that can intercept the API, change parameters passed,handle and redirect the operations. In Windows OS,we can use shims to simulate the behaviors of old version OS for legacy softwares.
I/O and Resource Management
Throughput, unlike input and output, is the measurement of the number of calculations per second that a machine can preform. This is usually measured in FLOPS (floating point logical operations per second). It is impossible for one sole Windows machine to compete with a mainframe's throughput. Not only do mainframe processors have extremely high frequencies, but they also have a considerable amount of cores. This all changes, however, when computer clustering is introduced. In the recent years, IBM has constructed a clustered system called The Roadrunner that ranks third in the TOP500 supercomputer list as of June 2010.[2] It has a total of 60 connected units, over a thousand processors, and the capability of computing at a rate of 1.7 petaflops.
The question is, with such complex hardware, how is it possible for any sort of software to use this clustered system? Luckily, Windows has introduced an OS called Windows Compute Cluster Server, which provides the necessary software to allow the main computer to utilize the computing power of its cluster nodes. Windows mainly uses MS-MPI (Microsoft Message Passing Interface) to send messages via Ethernet to its other nodes.[3] Developers can use this function because it automatically connects a given process to each node. Windows then can use its scheduler to determine which node receives each different job. It keeps track of each node, and shuts the job down once the output is received.
Today, clustering computers together with the intent of optimizing throughput is accomplished using grid computing. Grid computing shares the same basic idealisms of cluster computing, however, grids have the sole job of computing massive scale problems.[4] Each subsection of a problem is passed out to a compute node in the grid for it to be calculated. The one clear problem of this computational model is that the problem must have the ability to be broken down into several pieces for each compute node to work on. This style of high throughput computing can be used for problems such as high-energy physics, or biology models.
In general, however, the most popular solution to solve problems that require large throughput would be to construct a cluster model. Most businesses require the reliability of clusters, even though it sacrifices performance; there is no competition to the hight availability of a cluster server as compared to the grid model.[5]
Weaknesses of Cluster Computing
Although are strong at duplicating duplicating mainframe capability it does have it's own weaknesses. One such weakness is that adding extra computers to a cluster may not cause the system to run faster. Depending on the type of process required to run there will be no increase in speed and in some cases a decrease in speed. When the a OSEM (Ordered subset expectation–maximization) algorithm or a Katsevich algorithm is run, the ideal number of computer in the cluster is in fact different. In the OSEM algorithm has a linear speed-up for each added node until the 10th node and then has a plateau of speed increase. Whereas the Katsevich algorithm has a linear speed increase until the 16th node added[6]. So depending on the process the clusters can handle the operation better or worse.
Conclusion
Windows has gone from a Operation System specialize for personal computers to a platform to create a replacement for a mainframe. It quickly stripped away all the advantages that a normal mainframe has. But the largest threat Windows has to Mainframes is the cost. It gives anyone the ability to create a mainframe equivalent system with stock parts comparatively cheap price. Does this mean that the mainframe time is running out? Only Time will tell.
References
Redundancy
"Setup for Failover Clustering and Microsoft Cluster Service" <http://www.vmware.com/pdf/vsphere4/r40/vsp_40_mscs.pdf>
"Introducing Microsoft Cluster Service (MSCS) in the Windows Server 2003 Family" <http://msdn.microsoft.com/en-us/library/ms952401.aspx>
No downtime upgrades
Davis, David. "VMware vSphere hot-add RAM and hot-plug CPU." TechTarget. N.p., 09.15.2009. Web. 14 Oct 2010. <http://searchvmware.techtarget.com/tip/0,289483,sid179_gci1367631_mem1,00.html>.
"Windows Server 2008 R2 Datacenter." Windows Server 2008 R2. N.p., n.d. Web. 14 Oct 2010. <http://www.microsoft.com/windowsserver2008/en/us/2008-dc.aspx>.
"Go-HotSwap: CompactPCI Hot Swap." Jungo. Jungo Ltd, n.d. Web. 14 Oct 2010. <http://www.jungo.com/st/hotswap.html>.
Backwards-Compatibility
"Windows 7 To Break Backwards Compatibility" <http://www.windows7news.com/2008/05/23/windows-7-to-break-backwards-compatibility/>
"Mainframe computers" <http://computersight.com/computers/mainframe-computers/>
"Mainframe Features" <http://www.scribd.com/doc/6895677/Mainframe-Features>
"Mapping the Mainframe to Windows: A Reference Architecture" <http://www.microsoft.com/windowsserver/mainframe/papers.mspx>
I/O and Resource Management
"Most Powerful Computers In The World" <http://hubpages.com/hub/Most-Powerful-Computers-In-The-World>
Windows Server 2003 Administrator’s Companion (MS Press, 2003) "Overview of Microsoft Windows Compute Cluster Server 2003" <http://webcache.googleusercontent.com/search?q=cache:EPlDExBxmDYJ:download.microsoft.com/download/9/e/d/9edcdeab-f1fb-4670-8914-c08c5c6f22a5/HPC_Overview.doc+Windows+Compute+Cluster+Server&cd=1&hl=en&ct=clnk&gl=ca&client=firefox-a>
"grid computing" <http://searchdatacenter.techtarget.com/definition/grid-computing>
"Clusters vs. Grids" <http://www.dba-oracle.com/real_application_clusters_rac_grid/grid_vs_clusters.htm>
<http://searchcio-midmarket.techtarget.com/sDefinition/0,,sid183_gci213140,00.html>
Weaknesses of Cluster Computing
Tao He, Jun Ni and Ge Wang,"A Heterogeneous Windows Cluster System for Medical Image Reconstruction",Proceedings of the 35th annual ACM/IEEE international symposium on Microarchitecture, IEEE, 2008, http://www.cs.uiowa.edu/~jni/publications/2006a%20Tao%20He%20IMSCCS06.pdf, (2010-11-09)