ISAST Transactions on
No. 1, Vol. 1, 2007 (ISSN 1797-1152)
Computers and Software Engineering Regular Papers Marium Jalal Chaundry, Farhat Saleemi, M. Imran Shahid, and Fatima Jalal Chaudhry: A Comparison of Networking Features of Windows Vista, Free BSD, Sun Solaris for an Enterprise Environment .............................................................................................. 1 Michel Cukier and Anil Sharma: Password Changes: Empirical Results............................................................................. 8 Yang Bo, Zhou Min, Li Guohuan, and Huo Jiajia: A Secure Reputation System ......................................................................................... 14 Stanley Chien, Jingyi Zhou, Brian King, and Akin Ecer: Fault-Tolerance of Parallel Computing in Grid Environment ....................................... 20 Hari Krishna V.J, Vittal Rao R, and Ramakrishnan K.R: A “perturb-permute” method to solve the Simultaneous Unitary Similarity problem .. 30 Xing Chena, Kama Huanga, and Xiao-Bang Xub: An Effective and Low-Cost Dynamic Task Scheduling Algorithm on Cluster Systems .......................................................................................................................... 41 Angela Guercio, Arvind Bansal, and Timothy Arndt: Language Constructs and Synchronization for Reactive Multimedia Systems ............. 49 Peter J. Downey: Overheads in Parallel Loop Synchronization ................................................................ 56 Xiao-Bang Xu: An Integral Equation Approach for Solving Skin Effect Problems............................... 60 Oleg Gomzikov, Timo Hämäläinen, and Jyrki Joutsensalo: QoS Guarantee with Adaptive Scheduling Method....................................................... 64 Tutorial Papers Eniko Madarassy: ”I grew up with the belief that the truth is simple, one must only find it” .................... 69
Greetings from ISAST Dear Reader, You have the First ISAST Transactions on Computers and Software Engineering on your hands. It consists of ten original contributed scientific articles as well as one tutorial at the various fields of advanced computer science and software engineering technology. Every original article has gone through peer-review process. ISAST - International Society for Advanced Science and Technology – was founded in 2006 for the purpose of promote science and technology, mainly electronics, signal processing, communications, networking, intelligent systems, computer science, scientific computing, and software engineering, as well as the areas near to those, not forgetting emerging technologies and applications. To show, how large the diversity of computers and software engineering field is today, we shortly summarize the contents of this Transactions Journal: In the paper of Marium Jalal Chaudhry, Farhat Saleemi, M. Imran Shahid and Fatima Jalal Chaudhry, a novel design and development research is studied of several operating systems. Michel Cukier and Anil Sharma study an analysis of password evolution-based on empirical data: password changes.Yang Bo, Zhou Min, Li Guohuan, and Huo Jiajia have a novel idea for secure reputation system. Stanley Chien, Jingyi Zhou, Brian King, and Akin Ecer have a research paper of fault-tolerance of parallel computing in large grids. On the other hand Hari Krishna V.J., Vittal Rao R. and Ramakrishnan K.R. have studied a perturb-permute method to solve the simultaneous unitary similarity problem. Xing Chena, Kama Huanga and Xiao-Bang Xub have presented a dynamic task scheduling algorithm that employs relative workload of tasks. Angela Guercio, Arvind Bansal, and Timothy Arndt study reactive multimedia systems at the point of language constructs and synchronization. Peter J. Downey discusses loops that synchronize parallel processors with those that do not synchronize. Xiao-Bang Xu has a novel idea for solving conductor skin effect problems with an integral equation approach. Oleg Gomzikov, Timo Hämäläinen, and Jyrki Joutsensalo present an adaptive scheduling and call admission control model for the revenue maximization. Finally, Eniko Madarassy has interviewed famous physicist, Dr. Edward Teller, in her tutorial paper. We are happy to see how much we have obtained manuscripts with ambitious and impressive ideas. We hope that you will inform of the existence of our Society to your colleagues to all over the academic, engineering, and industrial world. Best Regards, Professor Timo Hämäläinen, University of Jyväskylä, FINLAND, Editor-in-Chief Professor Jyrki Joutsensalo, University of Jyväskylä, FINLAND, Vice Editor-in-Chief
Regular Paper Original Contribution 1
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Marium Jalal Chaundry et al.: A Comparison of Networking Features of Windows Vista, Free BSD, SUN Solaris for an Enterprise Environment
A Comparison of Networking Features of Windows Vista, FreeBSD, SUN Solaris for an Enterprise Environment Marium Jalal Chaudhry, Farhat Saleemi , M Imran Shahid, *Fatima Jalal Chaudhry
[email protected] Lahore College for Women University, Lahore. Pakistan *Fatima Memorial Hospital College of Med. And Dent. , Lahore. Pakistan.
Abstract: This paper presents comparison study of three popular operating systems FreeBSD, Windows Vista and Sun Solaris for an enterprise environment. These operating systems have been compared based on their high-performance network applications for an enterprise environment. The study conclude with a guide for selection of an operating system from network software vendor’s point of view while keeping in mind the different performance characteristics for networking features for each operating system and the best suited Operating system’s platform for every enterprise environment. We have also studied comparison of the mentioned operating system based on the use of the networking features in an enterprise with respect to their applications, performance, quality-of-Service, manageability, network Security and cost Keywords Windows Vista, Free BSD, Sun Solaris. 1. Introduction For any healthy organization the task of connecting users while maintaining security Fsimplicity and manageability is one of the most challenging and critical tasks. Users expect to access their data from anywhere and anytime. Therefore, the administrators are facing a challenge for developing more advanced networking services that includes Voice over IP (VoIP) and multimedia streaming along with a very high quality of service. However, such a rapidly evolving global information infrastructure comes with a challenge of protecting data form unauthorized access because large scale enterprise services are accessed by thousands and thousands of clients. As a result a high Quality-of-Service
(QOS) is on demand by guaranteeing bandwidth and bounding delays. As all the services are end-to-end in nature therefore these services requires efficient data management, security and QOS at end systems e.g. storage servers, a PC, workstation and the network components that connects them [1]. The rest of paper is organized as: Section 2 presents brief background of networking features for Sun, Free BSD and Window Vista operating systems; section 3, 4 and 5 explains exclusively the features of Window vista, Free BSD and SUN respectively. The paper concludes by giving recommendations in section 6. 2. History and Background Windows Vista is from the series of operating systems presented by Microsoft for desktop based computers. Window Vista has hundreds of attractive networking features which can drive the modern day demands of the software vendor market. Fancy user interface, enhanced networking experience, built in speech recognition and improved security features are new and rich experiences that have introduced to market through this new operating system. However this is new in the market and it still has long way to win the race [1]. FreeBSD is a UNIX-like operating system which is free and named BSD after Berkeley Software Distribution. It has evolved so as to specially address the networking area issues. It has 4 versions FreeBSD 4,5,6,7 and 8. It was broadly accepted in the vendor’s market because of its reliability, robustness, enhanced networking features and Linux compatibility [2].
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Marium Jalal Chaundry et al.: A Comparison of Networking Features of Windows Vista, Free BSD, SUN Solaris for an Enterprise Environment
2
SUN Solaris was based on SVR4 and it was the first operating system which facilitated all networking with TCP/IP-based networking with no proprietary servers. It was a SUN Microsystems’s implementation of UNIX. Because of the interoperability, scalability and couple of innovative features feature SUN was the most popular vendor over the web till 2000 [3].
•
Network utilization using generation TCP/IP Stack” [4]
•
Window Auto-Tuning
•
Compound TCP
•
ECN support
•
Specialized APIs for the inception of the network packets
3. Windows Vista
•
Additional Networking Innovations
“Longhorn” the code name of Windows Vista has introduced many new attractive features based on the so called “Next-Generation TCP/IP” stack. The Next-Generation TCP/IP gives enhanced networking features over traditional TCP/IP. Vista emphasis on communication, mobility, and networking features that can keep users connected to other users, information points, and large category of communication devices. These features are feasible solution to both normal user and an enterprise [1] [5]. The list of new features introduced by Window Vista is as follows •
Hardware based new GUI; “Window Aero”
•
Window Shell with newer manage and search capabilities
•
Versatile User interface
•
Upgraded version of window media player, web mail and internet explorer.
•
Window mobility center; a special feature for mobile computing
•
Speech recognition
•
Security and enhanced networking features
In this study paper however, we will be putting forward only networking related features [23] for an underlying enterprise market.
3.1. Network Utilization generation TCP/IP stack
using
“next
next
Optimized tuning of TCP/IP configuration of a device is the base required for maximizing the network utilization. By detecting network conditions, Windows Vista helps in getting rid of the manual tuning that was previously required for the TCP/IP settings, therefore it automatically optimizes the network performance. Next generation TCP/IP in the Window vista has come up with the features that protect and secure network under constrained environments for example in high-loss networks, such as wireless networks, Windows Vista is even capable of recovering from multiple packet losses, it can also dynamically adjust the TCP Receive Window so that the user may enjoy the network at its full capacity. Higher download speed and lower latency will be a plus point for the normal users. In short, It offers the users a rich taste of the high performance networking features without even indulging them in to understanding the new protocol stack. [1] 3.2. Tuning Receive side TCP Window The Auto tuning feature of the next generation TCP/IP stack helps in adjusting the optimal size of the receive window that results in high throughput network experience by the end user. The underlying principle of the dynamic and ongoing auto tuning feature is the
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Marium Jalal Chaundry et al.: A Comparison of Networking Features of Windows Vista, Free BSD, SUN Solaris for an Enterprise Environment
3
bandwidth-delay product (the bandwidth multiplied by the latency of the connection) and the retrieve rate of the application. 3.3. Compound TCP (CTCP) Compound TCP (CTCP) in the NextGeneration TCP/IP stack helps in attains the high data rates by the help of mentioned features [19][20]. There are no negative impacts are claimed over regular TCP connection. A number of experiments were conducted to ensure the improved performance while posing no threats to fairness of TCP over internet in the Microsoft. It however, showed an improved at both sender and receiver-side of TCP peers by increasing gains and link utilizations [6][7][8][9]. 3.4. ECN Support Packet loss in the traditional TCP results in indication of congestion as a result of which the sender is alerted for lowering transmission rate. This false congestion is encountered by Explicit Congestion Notification (ECN) support by marking congested packets while forwarding them by routers/ TCP peers. When such marked packets are received by a device it only then lowers their transmission rate to counter the congestion and prevent packet loss. [1][7][11] 3.5. Specialized APIs for the Inception of the Network Packets The filtering decision in the next generation TCP/IP protocol stack is introduced by a new feature Windows Filtering Platform (WFP). This comes up with a next-generation firewall features which allows authenticated communication configuration depending upon an application-based policy.[1] [12] 3.6. Additional Networking Features Windows Vista also addresses the following networking issues: •
Connectivity Diagnosis
•
Advanced End-to-End Security
•
Greater Manageability
•
World-Ready scalability
•
World ready scalability
3.6.1. Connectivity Diagnosis Windows Vista offers a new display feature that helps in provides a greater user experience by providing an interface which helps to diagnose and resolve connectivity concerns [1]. 3.6.2. Advanced Network Security The Network Access Protection (NAP) helps in achieving better security features by more flexible authentication and encryption of the personal data. Security enhancements in Windows Vista also assist the security of virtual private networks (VPNs) by taking into account for coming wireless support [1]. 3.6.3. Improved Network Management Windows Vista removes burden of manual maintenance of security, reliability and service by helping reducing the administrative burden by providing greater facility of manageability for networking services for maintaining higher QoS. [1] 3.6.4. Higher Scalability Windows Vista is capable of supporting IPv6 to help alleviate the issues of running short of unique IP address using current IPV4. Therefore, the Vista is ready to embrace the scalable users over the exploding internet. [1] 4. FreeBSD FreeBSD was UNIX base operating system designed for the Internet and includes reference implementation of the BSD TCP/IP protocol stack [13]. Like most UNIX systems, the FreeBSD operating system offers following features [14][24]
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Marium Jalal Chaundry et al.: A Comparison of Networking Features of Windows Vista, Free BSD, SUN Solaris for an Enterprise Environment
4
•
Share file systems with NFS
•
Support remote logins
•
Remote SNMP (Simple Network Management Protocol) configuration.
•
Resolve issues of the internet hostnames with DNS/BIND (Berkeley Internet Name Domain)
•
FreeBSD 6.0 designs to combat the wireless devices and absorb the upcoming latest wireless technologies.
•
Routing of packets between multiple interfaces is implemented using special protocols like PPP and SLIP lines
•
Use IP Multicast MBONE)
services
(the
There is also facility of sharing resources and data with the Microsoft Windows machines. FreeBSD is in fact a “intranet” networking solution. It is a suitable operating system suitable for both simple user and for an enterprise [22]. FreeBSD is a popular vendor for an enterprise market because of its scalability and highly efficient throughputs. Therefore, many rising companies use this operating system like yahoo inc., Netcraft etc. It is a great platform for www, FTP and all kind of enterprise services. The number of enterprise specific features in the FreeBSD is given below
walling, IP proxy gateways etc were quite an attraction for enterprises. FreeBSD is a kind of network firewall in itself. Encryption software and different kinds of secure shells are also available in this package. Furthermore, the FreeBSD also offers a Computer Emergency Response Team (CERT) for their enterprise clients to combat the efficient detecting and reporting security concerns. [13] 4.2. High Performance FreeBSD results in high performance as a result of higher data rates offered by newer TCP/IP layers introduced by FreeBSD [19][21]. 4.3. Quality-of-Service Management FreeBSD offers an efficient QoS management which is one of the most fundamental requirements of the enterprise vendors. It maintains a high QoS by assigning different required priority to the vendor’s applications, users or data, and thus guarantees a high level performance. 4.4. High-performance TCP/IP Protocol Stack FreeBSD have implemented the most intrusive changes to the TCP/IP protocol stack to make it fit and flexible for the modern day enterprise use [20]. It has also introduced CARP which is a special network interface to help sharing more than one router to use same IP address hence using IPv4 in more effective way for combating its scalability issue.
•
Secure networking features
•
High performance
•
Quality-of-Service management
5. SUN Solaris
•
High performance TCP/IP protocol Stack [21]
SUN Microsoft system has introduced UNIXbased operating system with market name SUN Solaris in order to address basic issue of network optimization issues. Solaris came up with the innovations in the new communication protocol for efficient network use. Solaris has introduced a new horizon of scalability by permitting connections rapid
4.1. Secure Networking features The FreeBSD users get security as well as performance in one package. As far as security features are concerned, the support for fire-
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Marium Jalal Chaundry et al.: A Comparison of Networking Features of Windows Vista, Free BSD, SUN Solaris for an Enterprise Environment
5
growth. The newly introduced protocol stack is ready for 10-Gbps Ethernet, wireless technologies as well as stressing on the better performance and larger scalability. Solaris has special vision for server under their high workloads. Furthermore, the Solaris Network Cache Accelerator (NCA) is capable to involve the emerging technologies to work with it. It has shown remarkable performance improvement over traditional systems and showed up to 50% of performance gains [15][16]. Along with the other features of UNIX based operating system it also offers a couple of new networking features as given below. •
Offers enhanced TCP/IP, UDP/IP, and SSL to optimize CPU, stack and networking usage
•
Offers multithreaded use of CPU for higher throughput
•
Flexible to incorporate IPv6 to increase the IP addresses for growing network traffic [16].
•
Offers IP Multipathing to achieve high availability of network connectivity, services and reduced delays.
•
Offers Support for high data rate adapters like 10-Gb adapters from ruling vendors.
Some other important features introduced in SUN Solaris operating system is as follows: 5.1. Easy IPv6 Deployment Solaris make use of next-generation IP protocol IPv6 which offers more accommodation for scalable network traffic as well as not affecting the quality, mobility, and security which is also required. It also helps in improving encryption and authentication methods required for network access. [10]. The important application like Network File Server (NFS), mail server, Domain Name
System (DNS), Web server and application server is efficiently designed for embracing IPv6. However as IPv4 is all over it was also important to think of easy transition to IPv6 which is properly tackled in Solaris by providing dual network stacks [16]. 5.2. Improved Routing Protocols Solaris offers couple of new and more resilient routing protocols like Open Shortest Path First (OSPFv2) and Border Gateway Protocol4 (BGP-4) [17][21]. These Improved network routing protocols helps in more resilient, innovative network solutions that offers lesser delay and redundancy. Multipathing scenarios prove to be helpful for protecting whole systems form failures and are implemented using a combination of virtual IP address selection and OSPF-MP. There are list of useful features by implementing better NFS/RPC Error Handling, Name Service error etc. Internet Multimedia Subsystem protocols (IMS) which helps in the telephony services for making compatible with the next generation telecom system [18] [19]. 5.3. Voice over IP (VoIP) The Solaris supports an ideal deployment ground for Voice over IP (VoIP) and other important telephony applications by making use of SIP and SCTP protocols. [12]. The reliability of SCTP over regular IP layer serves the basis for using it as a potential source that is inherently required in the telephony and signaling systems required for application such as VOIP. Whereas an application layer controls protocol, SIP can manage control signals by establishing, modifying, and terminating calls over IP networks. Therefore Solaris is ready to integrate with more modern day devices such as IP phones, PDAs etc. The way Solaris implements SIP make server’s interaction with callers on a almost every operating system [18][21].
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Marium Jalal Chaundry et al.: A Comparison of Networking Features of Windows Vista, Free BSD, SUN Solaris for an Enterprise Environment
6
5.4. Solaris Data Centers The capability of the Solaris to extract useful data from the data centers is undoubtedly proven to be the best till now. Moreover the efficient CPU usage and reduced delays are also advantageous to the applications that require extensive computational efforts. The role of high speed networking is also being addressed fully by the Solaris which results in fancy enterprise application like. Business-tobusiness (B2B) and Web services, where security, high speed data access are challenging tasks in a transaction based environments. [18] 6. Conclusion Study revealed that none of the Windows Vista, Sun Solaris and Free BSD is equally good for all the scenarios. Keeping in mind the merits and demerits one can choose the most appropriate system depending upon cost efficiency and most important features required for that specific application. As far as Windows Vista is concerned, it is appealing yet lots of constraints have to be taken into account for it to be ready for a full length use in a professional enterprise environment. However it is not right to say that it is indeed the most user friendly operating system that provides all features that suits any type of user sitting on PC, servers, data centers etc. But the hardware specific nature of some of its applications, high memory use makes it a little less success than it was expected. Rather because of these reasons it is said that many users are likely to cling to XP, while others who upgraded are switching back. Might be it is a quite a bit advanced than required by an ordinary user and on the other hand the enterprise vendors are much tuned with the Unix based systems that it will take few more years to break the ice. Being freeware FreeBSD is quite an attraction for less budget yet technical environments,
though it is not very much technically sound and advanced as SUN Solaris but its is pretty much sound and advance for such environments. Unlike Sun Solaris it is somehow flexible for desktop users although it has not being practiced by desktop users as such. Sun Solaris is the best choice to opt in the server environments that require high data transaction rate with security and hundreds of advanced features. Whereas it is not much appropriate and recommended for desktop users. References [1]. http://technet.microsoft.com/enus/windowsvista/aa905086.aspx [2]. http://www.freebsd.org/news/status/report-200510-2005-12.html [3]. http://www.softpanorama.org/Articles/Linux_vs _Solaris/Introduction/historical_dimension_of_s olaris_vs_linux_debate.shtml [4]. Karthikeyan Vaidyanathan, Sundeep Narravula, Pavan Balaji, Dhabaleswar K. Panda: Designing Efficient Systems Services and Primitives for Next-Generation Data-Centers. IPDPS 2007: 1-6 [5]. http://en.wikipedia.org/wiki/Development_of_W indows_Vista [6]. http://www.msfn.org/board/lofiversion/index.ph p/t87969.html [7]. http://technet.microsoft.com/enus/library/bb878127.aspx [8]. http://tweakhound.com/blog/?p=29 [9]. http://www.microsoft.com/windowsserver2008/b ranch-office.mspx [10]. http://en.wikipedia.org/wiki/Explicit_Congestion _Notification [11]. http://en.wikipedia.org/wiki/Explicit_Congestion _Notification [12]. http://technet2.microsoft.com/WindowsServer20 08/en/library/60f9e0c6-dfb3-4ead-aa123ba7653664fd1033.mspx [13]. http://www.freebsd.org/internet.html [14]. http://www.compamerica.com/AX/ [15]. http://www.softpanorama.org/Net/Internet_layer/ ipv6.shtml [16]. http://www.sun.com/software/solaris/ds/network _performance.jsp [17]. http://uk.sun.com/practice/software/solaris/faq.js p [18]. http://nz.sun.com/learnabout/solaris/10/ds/netwo rk_performance.html
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Marium Jalal Chaundry et al.: A Comparison of Networking Features of Windows Vista, Free BSD, SUN Solaris for an Enterprise Environment
7
[19].
[20].
[21]. [22].
[23].
[24].
E. P. Markatos .Speeding up TCP/IP: faster processors are not enough. In proc. 21th IEEE Int. Perf., C and Comm.Conf., Phoenix, Arizona, April 2002, pp. 341-345. D. L. Guerrero and O. Frieder. On systems integration: tuning the performance of a commercial TCP implementation. In Proc. Of the 2nd Int. Conf. On Systems Integration (ICSI 2). June 1992, pp.509-518. D. Clark. Modularity and efficiency in protocol implementation. RFC 817, 1982. V. Jacobson. 4BSD header prediction. ACM Comput Comm. Rev., vol. 20, no. 1, pp. 13-15, 1990. M. Russinovich & D. Solomon. Windows Internals: Microsoft Windows Server 2003, Windows XP, and Windows 2000, Microsoft Press. USA. 2005. The Design and Implementation of FreeBSD Operating System. Addison-Wesley.
Regular Paper Original Contribution 8
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Michel Cukier and Anil Sharma: Password Changes: Empirical Results
Password Changes: Empirical Results Michel Cukier and Anil Sharma
Abstract— This paper focuses on a detailed analysis of one aspect of password evolution based on empirical data: password changes. Passwords can be divided into weak and strong based on how easy it is to crack them. We present a model of password changes and analyze passwords collected during 21 months from a large network of an average of 770 users. The results include tracking the percentage of users with weak passwords over time and the percentage of users changing between weak and strong passwords. Based on the data analysis, the distribution of users switching between weak and strong passwords was characterized and two parameters of the model were estimated. Index Terms— Security evaluation, passwords, descriptive statistics, empirical data.
I. INTRODUCTION
T
HIS paper focuses on one specific type of computer vulnerability, user passwords, and analyzes one specific aspect of password evolution, password changes over time. Today, passwords remain the most common approach used to authenticate a user. When considering the threat of password guessing, passwords can be categorized into weak and strong passwords. A password is considered to be weak if it is short or may be rapidly guessed by searching a subset of possible passwords such as words in the dictionary, proper names, words based on the user’s name or common variations on these themes. A password is considered to be strong if it is sufficiently long, random, or only reproducible by the user who chooses it. Considerable research has focused on the issues of users choosing a strong password and system administrators enforcing the selection of stronger passwords. Feldmeier and Karn [2] identified several criteria to recognize weak passwords, for example, passwords with patterns on a keyboard and passwords that consist solely of numeric characters. Bishop [1] provided a more extensive set of characteristics to describe weak passwords. System administrators may educate users, generate strong passwords for users or check passwords and force users to use stronger passwords [3]. While there has been research conducted to characterize weak passwords, little research has focused on quantifying the number of weak passwords. In fact, one of the most Manuscript received June 12, 2007. This research has been supported by NSF CAREER award 0237493. Michel Cukier and Anil Sharma are with the Center for Risk and Reliability, Department of Mechanical Engineering, University of Maryland, College Park, MD 20742, USA (e-mail: {mcukier, asharma}@umd.edu).
comprehensive studies to date was conducted by Klein [3] who analyzed about 15,000 passwords. Of the 25% that could be guessed, 21% were guessed within one week. Moreover 2.7% were cracked using the user or account name as the password. Other studies focused on quantifying the number of weak passwords include [4] and [7] who performed similar studies using a smaller number of passwords. While these studies provide valuable insight into the relative number and types of weak passwords, they do not analyze how passwords evolve over time. Such an analysis will help characterize the behavior of users in specific environments. Furthermore, it will help system administrators define a stronger password policy. In [8], the authors conducted an empirical study on password security. Their findings included the password length, composition, and the password change frequency. The empirical results were based on 977 respondents to a questionnaire. Using a password cracker tool to identify weak passwords, [6] conducted a study on how the password distribution evolved over time during 21 months for an average of 770 users. This data set included password changes between a weak and strong password and vice-versa and provided the means to understand the evolution of passwords over time during a time period when few users were aware of computer security concerns. The computer users were from a community of researchers working on non-sensitive material. The length of the data collection period and the number of users involved in the data collection led to a rich data set from which many aspects of the passwords’ evolution can be studied. This paper specifically presents an analysis of the passwords switches between weak and strong passwords from that data set. The results found from the study may be used to compare the evolution of passwords today when users are more aware of security. The outline of this paper is as follows. In Section II, a model of password changes is presented along with a description of the experiment used to estimate the parameters of the model. The data set that was used in [6] is introduced in Section III. Section IV focuses on the results we obtained by analyzing this data set. These results include the percentage of weak passwords and the percentage of users switching from a weak/strong password to a strong/weak password. In Section V, the probability distributions of switching from a weak/strong password to a strong/weak password are determined. In Section VI, these distributions are used to estimate two of the parameters of the password changes model in Section II. Finally, Section VII combines the conclusion and future work.
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Michel Cukier and Anil Sharma: Password Changes: Empirical Results
9
II. MODELING PASSWORD CHANGES Since users change their password over time, they can switch from a weak to a strong password and vice-versa. Password changes may be modeled using a simple state machine as shown in Fig. 1. Besides the probability of having a weak/strong password, the probabilities of transitioning to another weak/strong password or to a strong/weak password need to be considered. P(w-s) P(w-w)
Weak Password
Strong Password
P(s-s)
P(s-w) Fig. 1. State Machine Model of Password Changes.
In order to quantify these probabilities and thus completely characterize password changes, the following experiment should be conducted. 1) Define what constitutes a weak password (for example, combination of three variables for the password cracker tool that can be set: time for which it is run; the size of the dictionary it uses; and the rules applied on the dictionary words) and maintain this definition of a weak password throughout the experiment. 2) At regular intervals (for example, every x days), record the following data: a. if each user has a weak or a strong password and b. if each user has changed his/her password since the last data collection. 3) Infer from the data the following parameters of the model as a function of time: a. the probability that the password is weak/strong: number of weak/strong passwords divided by the number of users; b. the probability that the transition is from a weak/strong password to a strong/weak password (P(w-s) and P(sw)): number of weak/strong passwords at time i-1 that become strong/weak passwords at time i divided by the number of users; and c. the probability of a transition from a weak/strong password to a weak/strong password (P(w-w) and P(ss)): number of users who change their password at time i-1 to time i but keep a weak/strong password divided by the number of users. While parameters 3a and 3b may be calculated by running a password cracker tool, parameter 3c requires a more detailed analysis, requiring access to the password file or log of user activity, to ensure that the user did indeed modify his/her password but maintained a weak/strong password. The estimation of these three parameters characterizes the password changes over time.
III. THE DATA SET In the majority of the literature, only percentages of weak passwords are reported, for example, [3], that cannot be used
to identify changes in the use of weak passwords over time. Therefore, completely characterizing password changes over time based on previously reported research is not possible. An experiment that enabled a more detailed characterization of password changes was conducted by [6]. This data set included a record of password switches (from a weak to a strong password and vice-versa) during 21 months (June 1995 to March 1997) for an average of 770 users. One issue with this data set is that it is almost ten years old. Most vulnerabilities that are this old are no longer be relevant. For example, a vulnerability in a software version released several years ago is likely to have been removed. This paper, however, deals with a very specific kind of vulnerability (i.e., passwords). Today, passwords remain the most frequent approach used to authenticate users. This paper deals with the choice of the passwords not with vulnerabilities in the authentication protocols. Therefore, this data set is relevant for the analysis conducted in this paper. Moreover, the length of the data collection period and the number of users involved in the data collection led to a rich data set from which aspects of the evolution of passwords can be studied. At the same time, however, the users’ security awareness and the enforcement of strict policies for password selection are becoming more stringent. Results presented in this paper should therefore be used as a comparison for similar studies conducted more recently and from a variety of environments. The authors of [6] provided the original data set. All of the results provided in this paper are based on an in-house analysis of the data set. The data set on passwords was obtained by using the password cracker tool Crack Version 4.1 [5] on a large distributed computer system. Passwords that are cracked are defined as “weak” passwords. A weak password is defined as such based on • a dictionary of words in English and French, • specific rules including combinations of words contained in the dictionary, and • an execution time of about 6 hours with Crack Version 4.1 running on a SuperSparc SUN workstation. The definition of a weak password was used consistently throughout the entire data collection period (i.e., the parameter values associated with the cracker tool execution, the size of the dictionary and the rules applied to the dictionary words were not modified during data collection). The network consisted of more than one hundred different workstations connected to a local area network. The network was observed for 21 months from June 1995 to March 1997. During these 633 days, the data was collected 384 times. Even though the data was not collected every day, 280 samples occurred on successive days, 47 with a one-day gap and 29 with a two-day gap. An average of 770 users used the network during the period of study. The number of users varied from 692 to 850. Throughout the study, new users were added to the network and existing users left. This was primarily due to the arrival and departure of temporary staff [6]. The computer system was mainly used by researchers (i.e., students and faculty) working on non-sensitive research and therefore security was
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Michel Cukier and Anil Sharma: Password Changes: Empirical Results
not a primary concern. The number of system administrators also varied from three to six during the period of study. The results of the data collection were not shared with the system administration team so that the network could evolve naturally. However, the system administration team took some actions based on their own analysis.
IV. DATA ANALYSIS
18 16 14 12 10 8 6 4
350 300 250 200 150 100 50 0 0
2
100
200
300
400
500
600
Days
0 0
100
200
300
400
500
600
Days
Fig. 2. Percentage of Users with Weak Passwords.
This percentage is an estimate of the probability of having a weak password as defined in Section II. As seen in Fig. 2, there is a sudden increase in weak passwords (from 107 to 120) on day 283. This was likely due to the large number of new users introduced that day (42 new users). There is a steady rise in the percentage of users with a weak password until day 480. Then the percentage of users with a weak password dropped significantly. To the authors’ knowledge, this decrease was due to an action from the system administration team: users with weak passwords were contacted and urged to modify their password to a stronger password. Approximately 8% of the users continued using weak passwords. The cumulative number of users switching from a strong password to a weak one and the cumulative number of users switching from a weak password to a strong one over time are shown in Fig. 3.a and Fig. 3.b, respectively. Note that a user could switch several times between weak and strong passwords during the data collection period. The number of users switching from a weak/strong password to a strong/weak one over time divided by the number of users is an estimate of the probability of a transition from a weak/strong password to a strong/weak password as described in Section II. We defined the rate of users switching from a weak/strong password to a strong/weak one as the number of users switching from a weak/strong password to a strong/weak one during a specific period of time divided by that period of time. As described previously, we observed that the sudden decrease in the percentage of weak passwords near
Fig. 3.a. Cumulative Number of Users Switching from a Strong Password to a Weak One. Cumulative num ber of users sw itching from a weak password to a strong one
Percentage of users with weak passwo rds
In this section, we describe the password changes over the 21 months of data collection. Fig. 2 shows the percentage of users with a weak password during the data collection period.
day 480 corresponds to a sudden increase in the rate of users switching from a weak password to a strong one (Fig. 3.b). Also, the sharp increase in both graphs at day 283 is probably due to the large number of new users introduced that day. Some of these users kept a weak password and some switched immediately to a strong password. One conclusion derived from these graphs is the rate of users switching from a weak password to a strong one and the rate of users switching from a strong password to a weak one remained relatively constant. Even after the action taken by the system administration team and the increased number of users, this observation held true. Cumulative num ber of users sw itching from a strong password to a weak one
10
350 300 250 200 150 100 50 0 0
100
200
300
400
500
600
Days
Fig. 3.b. Cumulative Number of Users Switching from a Weak Password to a Strong One.
Zviran and Haga in [8] conducted survey research on passwords involving 977 users. In terms of the frequency of password changes, the authors found that 79.6% of the users self-reported that they had never changed their password, 14.9% changed it annually, and 0.6% changed it monthly. While our approach was not based on questionnaires, and we analyzed actual switches between weak and strong passwords, we can compare our results with [8] in the following way. At the end of the 635-day data collection period, 298 passwords had switched from a strong password to a weak one and 340 passwords had switched from a weak password to a strong one. On average, during one year, 171 passwords switched from a strong password to a weak one and 195 switched from a weak to a strong one. This indicates that a maximum of 171 (and 195) users switched their password to a weak password (strong one). Since, on average, 770 users used the network during the period of study, during one year, 22.2% of the
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Michel Cukier and Anil Sharma: Password Changes: Empirical Results
11
Number of users switching from a weak password to a strong one (bin of one day)
users switched their password from a strong password to a weak one and 25.4% of the users from a weak to a strong one. These upper bounds confirm the results shown in [8] where the survey showed that 14.9% of the users change their password annually. Applying the same reasoning to monthly password changes, we found that 1.8% of the users switched their password from a strong password to a weak one and of 2.1% of the users from a weak to a strong one. The upper bounds are also consistent with the findings of [8] where 0.6% of the users changing their password monthly. There was one interesting result from the analysis on passwords selected by users during the first 30 days after obtaining an account. The initial password the system administration team provided was weak. Our initial hypothesis was that users would quickly switch (if they switched at all) to a strong password and retain a strong password over time. Fig. 4 shows the distribution of the number of users switching to strong passwords during the first 30 days with bins of 1 day. A total of 138 users switched from a weak to a strong password during the first 30 days. Moreover, an additional 117 users switched from a weak to a strong password after day 30. As expected many users switched to a strong password in the first days after obtaining an account. For example, of 138 users who switched to a strong password during the first 30 days, 108 switched within the first ten days. However, only 42 users switched to a strong password in the first two days and 69 in the first four days. Ninety-seven percent of the data collected occurred in intervals of 4 or fewer days; therefore, we should have expected that a significant number of users would switch to a strong password in the first 4 days after obtaining an account. Only 50% of the users who switched to a strong password during the first 30 days did so within the first 4 days. And only 27% of all users who eventually switched to a strong password did so within the first 4 days. 35 30 25 20 15 10 5 0 1
4
7
10
13
16
19
22
25
28
More precisely, we characterized the probability that a user switches from a weak password to a strong one, P(w-s) and the probability that a user switches from a strong password to a weak one, P(s-w). The data introduced in Section III only included users switching between strong and weak passwords, not from a weak password to another weak one or from a strong password to another strong one. Therefore the data could not be used to characterize the probability of a user changing his/her password and keeping a weak or strong one (i.e., P(w-w) or P(s-s)). From the number of users switching from a weak/strong password to a strong/weak one, we calculated the percentage of users switching their password during 10-day intervals. This percentage provided an approximation for the rate of users who switched their password. The 635-day data collection period led to 63 data points representing 10-day intervals. These data points were placed in bins of equal length of 0.25 (from 0 to 10) of the percentage of users who switched their password. The distribution of the percentage of users switching in a 10-day interval from a strong password to a weak one and the distribution of the percentage of users switching from a weak password to a strong one are shown in Fig. 5.a and Fig. 5.b. Note that the spikes at 5.5% in Fig. 5.a and 7.5% and 9% in Fig. 5.b correspond to the jumps found on day 283 in Fig. 3.a and at days 283 and 480 in Fig. 3.b. The interpretation of both figures as follows. On average, during a 10-day period, 0.62% of the users switched from a strong password to a weak one and 0.69% of the users switched from a weak to a strong password. In a 10-day period, less than 1.5% of the users switched their password in 95.2% of the cases for switches from a strong to a weak password and in 96.8% of the cases for switches from a weak to a strong password. The percentage of users switching their password can be considered negligible (i.e., less than 0.25%) in 28.6% of the cases for switches from a strong to a weak password and in 33.3% of the cases for switches from a weak to a strong password. Since both distributions in Fig. 5.a and Fig. 5.b seem similar, we can approximate these distributions with a single distribution. Applying curve-fitting techniques, we found that an inverse function accurately modeled the data. b The inverse function is defined as: y = a + (x expressed as x a percentage). The values obtained for a and b are: a = -0.015 and b = 0.095. This approximation provides a first estimate for the P(s-w) and P(w-s) probabilities introduced in Section II:
Days
Fig. 4. Number of Users Switching from a Weak Password to a Strong One.
V. DISTRIBUTIONS OF USERS SWITCHING BETWEEN A WEAK AND STRONG PASSWORD In this section, we use the results from the data analysis conducted in Section IV to characterize two parameters introduced in the password changes model from Section II.
⎧0.365 x ≤ 0.25 ⎪ 0.095 ⎪ P(s − w)( x) = P(w − s )( x) = ⎨− 0.015 + 0.25 < x ≤ 6.33 x ⎪ ⎪⎩0 x > 6.33
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Michel Cukier and Anil Sharma: Password Changes: Empirical Results
12
TABLE I VALUES OF P(S-W) AND P(W-S).
where x is the percentage of users who switched from a strong/weak password to a weak/strong one in 10 days.
Percentage of users switching passwords in 10 days 0.25 0.5 0.75 1 2 3 4 5
0. 35
Frequency
0.3 0. 25 0.2 0. 15 0.1 0. 05 0 0.0
1.0
2.0
3.0
4.0
5.0
6.0
7.0
8.0
9.0
Probability of transition P(s-w) and P(w-s) 0.365 0.175 0.112 0.08 0.0325 0.0167 0.00875 0.004
Percentage of Users Sw itching from a Strong Passw ord to a Weak One (10-Day Intervals)
VII. CONCLUSIONS AND FUTURE WORK Fig. 5.a. Distribution of the Percentage of Users Who Switched from a Strong Password to a Weak One in a 10-Day Interval (Bins of 0.25 Percent). 0.35
Frequency
0.3 0.25 0.2 0.15 0.1 0.05 0 0
1
2
3
4
5
6
7
8
9
Percentage of Use rs Sw itching from a Weak Passw ord to a Strong One (10-Day Intervals)
Fig. 5.b. Distribution of the Percentage of Users Who Switched from a Weak Password to a Strong One in a 10-Day Interval (Bins of 0.25 Percent).
VI. PARAMETER ESTIMATION OF THE MODEL OF PASSWORD CHANGES Since the data set described in Section III only included changes from weak to strong passwords and vice-versa, but not changes of passwords remaining weak or strong, we cannot estimate P(s-s) and P(w-w) based on these data. However, as seen in Section IV and V, the analysis of the data set (Section IV) and the distribution approximations provided in Section V lead to the estimation of P(s-w) and P(w-s). A conclusion of Section V is that we can accurately approximate P(s-w) and P(w-s) by the same distribution (i.e., an inverse function). Based on the approximated distributions presented in Section V, we can now easily quantify P(s-w) and P(w-s) in Fig. 1. Table I contains the values of P(s-w) and P(w-s) when 0.25%, 0.5%, 0.75%, 1%, 2%, 3%, 4% and 5% of users are switching passwords within a 10-day period. Based on Table I, modelers can quantify parameter values associated with the probability that users switch between weak and strong passwords based on empirical data. More complete password data is needed to estimate the remaining parameters (i.e., P(ss) and P(w-w)) involved in the password selection process and to compare current results with the ones provided in Table I.
Changes between weak and strong passwords can be modeled with a simple state machine and the parameters can be estimated using data based on the occurrence of password changes and the type (i.e., weak or strong) of new passwords. Currently, a data set from which all model parameters can be estimated does not exist. However, the data set used in [6] provided the means to understand the evolution of password changes over time. The analysis of the data showed password switches during 21 months. The number of users switching between passwords remained similar throughout data collection period except for sudden increases due to specific events (e.g., action from the system administration team). We also showed how two parameters in the password changes model could be estimated from the data set. This estimation was determined by building the probability distributions for switching between weak and strong passwords and then applying curve-fitting techniques. These results are a first step towards better understanding the evolution of password changes. The next step in this research will be to compare these results with current data. Changes in user behaviors are expected as more users become savvy to security related issues. Another change will be to use a data collection procedure that captures more details to enable the estimation of all the parameters in the model.
ACKNOWLEDGMENT The authors would like to thank Yves Deswarte and Rodolphe Ortalo for sharing and sanitizing the data set and providing details on the data collection. The authors thank Andy Chou for helping analyzing the data set. We also thank Carol Smidts for the fruitful discussions on data analysis.
REFERENCES [1] [2] [3]
M. Bishop, Computer Security: Art and Science, Addison-Wesley, pp. 316-317, 2003. D. C. Feldmeier and P. R. Karn, UNIX Password Security – Ten Years Later, in Proc. CRYPTO’89, pp. 44-63, 1989. D. V. Klein, “Foiling the Cracker”: A Survey of, and Improvements to, Password Security, in Proc. 2nd USENIX UNIX Security Workshop, pp. 5-14, 1990.
13 [4] [5] [6]
[7] [8]
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Michel Cukier and Anil Sharma: Password Changes: Empirical Results
R. Morris and K. Thompson, Password Security: A Case History, in Communications of the ACM 22 (11), pp. 594-597, 1979. A. Muffett, Crack, 1992. Available via anonymous ftp from cert.org R. Ortalo, Y. Deswarte, and M. Kaaniche, Experimenting with Quantitative Evaluation Tools for Monitoring Operational Security, in IEEE Transactions on Software Engineering, vol. 25, no. 5, pp. 633-650, Sept.-Oct. 1999. E. H. Spafford, Observing Reusable Password Choices, in Proc. 3rd UNIX Security Symposium, pp. 299-312, 1992. M. Zviran and W. J. Haga, Password Security: An Empirical Study, in Journal of Management Information Systems, vol. 15, no. 4, pp. 161185, 1999.
Michel Cukier is an Assistant Professor at the Center for Risk and Reliability in the Mechanical Engineering Department of the University of Maryland. He earned his doctorate from LAAS-CNRS, Toulouse, France in 1996 on coverage estimation of fault-tolerant systems. From 1996 to 2001, he was a member of the Perform research group in the Coordinated Science Laboratory at the University of Illinois, Urbana-Champaign, working on adaptive fault tolerance and intrusion tolerance. His current research interests include security evaluation, intrusion tolerance, distributed system validation, and fault injection. Anil Sharma holds an MS (2004) in Reliability Engineering from the University of Maryland – College Park and a BS (2001) in Aerospace Engineering from the Indian Institute of Technology – Kharagpur, India. His research interests include computer security, modeling, and vulnerability analysis.
Regular Paper Original Contribution 14
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Yang Bo et al.: A Secure Reputation System
A Secure Reputation System Yang Bo, Zhou Min, Li Guohuan and Huo Jiajia
Abstract—Reputation systems are designed for reducing the risk entailed in interactions among total strangers in electronic marketplaces. Such systems can be used to collect and aggregate feedback on the past behavior of participants in electronic transactions, so as to derive reputation scores assumed to predict likely future behavior. The security of reputation system is vital for the system to run correctly. If reputation system is not secure, it may not be able to produce a correct result, and consequently affects the process of decision making. In this paper, motivated by Ismail et al.’s proposed security architecture, a secure reputation system is proposed. The system achieves the following desirable features: privacy-preserving of feedback provider, tamper-preventing of feedback, masquerade-proofing of identity, shilling attack-preventing. Index Terms—privacy-preserving, reputation system, security, tamper-preventing
I. INTRODUCTION E-commerce brings us new opportunities for business. However, plenty of uncertainties have arisen as there are many unknown users involved. Reputation systems [6], [8], [9] have emerged as a means of reducing those uncertainties to a reasonable level. The basic idea is to let participants rate each other after the completion of a transaction, and use the aggregated ratings about a given participant to derive a trust or reputation score, which can assist other participants in deciding whether or not to transact with that participant in the future. The security of reputation system is vital for the system to run correctly, if a system is not secure, it may not be able to produce a correct result, and consequently affects the process of decision making. The security threats involved in reputation system are described below[5]. Lack of Privacy of Feedback Provider: This specifically threatens the privacy of feedback provider. The identity of the feedback provider is disclosed to the feedback target, Lack of Privacy of Feedback Target: This specifically threatens the privacy of feedback target. The reputation rating Manuscript received May 28, 2007. This work is supported by the National Natural Science Foundation of China under Grants 60372046 and 60573043 and the Foundation of National Laboratory for Modern Communications under Grant 9140c1108010606 Yang Bo is with the College of Information, South China Agricultural University, Guangzhou 510642, P. R. China. (phone: 8620-85285386; fax: 8620-85285393; e-mail:
[email protected]). Zhou Min is with the College of Information, South China Agricultural University, Guangzhou 510642, P. R. China.
of feedback target is known publicly, Tampering of Feedback: This threat enables the attackers to read and change the original content of the feedback to one favorable to them. Thus, integrity of the submitted feedback is defeated, Masquerading of Identity: This threat enables attackers to use other users’ identity and subsequently provide a phantom feedback. This threat becomes more dangerous especially if the attacker uses the identity of the reputable feedback provider when submitting a feedback, Intercept of Feedback: Although this threat does not allow to change the content of the submitted feedback it enables the attackers to read the value of given feedback and consequently may allow them to know the produced reputation rating of feedback target, Repudiation of Feedback: This threat enables feedback provider may deny that he sent the feedback on the feedback target, Shilling Attack: This threat concerns a large number of positive feedbacks which are submitted to increase the reputation of certain entities dramatically. This threat is often effective when there is collusion among feedback providers. Besides increasing reputation rating, decreasing of reputation rating can also be the intention of colluders when launching this attack. Related Work: Existing reputation systems to deal with the user’s need of privacy can be found in [5], [7], [11]. In [5], a security architecture for reputation systems was proposed, in (In) [4], Fahrenholtz and Lamersdorf proposed a system with local storage that relies on a central portal to guarantee integrity of aggregated ratings by maintaining a counter for each user. Since the ratings contain the raters’ identities and signatures, this scheme does not provide much privacy. Pavlov et al. [7] proposed three protocols that allow ratings to be privately provided in decentralized additive reputation systems based on secret splitting and verifiable secret sharing. The first protocol is not resilient against collusion of users, the other two protocols are probabilistically resistant to collusion
( ) and
of up to n − 1 users, and require respectively O n
O ( n3 ) messages among n users.
2
In [11], the authors dealt with the reputation system for mobile information dissemination network, in which users share information as they come into communication range to each other. Their devices match information they want to share Li Guohuan and Huo Jiajia are with the National Laboratory for Modern Communications, Chengdu 610041, P. R. China.
15
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Yang Bo et al.: A Secure Reputation System
and information they are looking for. To achieve user’s anonymity, the group signature scheme and an anonymous credential system are used. Our contributions: In this paper, a secure reputation system based on the security architecture given in [5] is proposed. The system contains the following desirable features: privacy-preserving of feedback provider, tamper-preventing of feedback, masquerade-proofing of identity, shilling attack-preventing. Some other security properties, such as privacy-preserving of feedback target, intercept-preventing of feedback, repudiation- preventing of feedback, are not addressed in our system, we argue the last three properties are easy to obtain and less important than other properties. Organization of this paper: The rest of this paper is organized as follows. In Section 2, we will review a security architecture for reputation system proposed by Ismail et al. in [5]. In Section 3, we will propose our secure reputation system. We present our protocol by describing four sub-protocols in detail. In Section 4, we give the analysis of security and efficiency of our system. We conclude our paper in Section 5.
II. A SECURITY ARCHITECTURE FOR REPUTATION SYSTEM In [5], a security architecture for reputation system was proposed, in which there are five participants described as follows. FT: A feedback target is the entity who is being evaluated and gained the reputation rating based on the feedback given by a feedback provider. FP: A feedback provider is the entity who provides a feedback about FT based on transactions made between FP and FT. RP: A relying party is the entity who uses the reputation rating produced to make a decision whether to proceed in a transaction with FT or not. TI: The token issuer manages the registration of FP and FT, records transactions made between FP and FT, signs the token to produce a legitimate token. CC: The collection centre collects the valid feedbacks and uses them to calculate reputation rating and then issue the certificates for FT. The interactions amongst the entities are illustrated as follows. Registration: FP and FT register with TI before both of them can conduct transactions and then take part in submitting a feedback. Transaction: This is the stage where a transaction between two entities, feedback provider and feedback target, takes place. Request Token: In this stage FP requests a legitimate token from TI to enable him to submit feedback. Sign and Send Legitimate Token: On receiving the rating, TI signs it to create a legitimate token. Submit Legitimate Token: Upon receiving the legitimate token from TI, FP uses this token to submit a valid feedback
about FT to CC. Send Certificate: CC calculates the submitted feedbacks and uses them to produce the reputation rating for FT. Show Certificate: FT shows the reputation certificate to RP. Validate Certificate: RP may contact CA to verify the freshness of certificate shown to them in case any doubt arising about the certificate especially on its validity. In these interactions, the first six is the core of the security architecture. Next section, we will propose a secure reputation system based on the first six interactions of the security architecture. III. THE CONSTRUCTION OF PROTOCOL The scheme consists of four sub-protocols described below, in which besides five participants described in section 2, there are a card issuer center CI . The CI is responsible for managing and issuing smart cards to users. Each user generates its own anonymous identity using smart card to ensure the correctness of anonymous identity’s structure. In our scheme, we let p, q be two large primes, satisfying
q ( p − 1) , g ∈ Z p ∗ of multiplication order q , the computation of the discrete logarithm modulo p to the base g is assumed to be intractable. A. Card Issuing Let xCI ∈R Z q , hCI = g
xCI
( mod p ) be respectively the
secret key and public key of card issuer center, also the computation of the discrete logarithm modulo p to the base
hCI is assumed to be intractable. FP firstly applies for a smart card from CI, the smart card is supposed to be tamper-resistant, and has stored the descriptions of Z q and Z p , CI’s secret key
xCI , a signature generation function Sig xCI ( ⋅) and its public
verification function VerhCI ( ⋅ , ⋅) . The function VerhCI ( ⋅ , ⋅) satisfies:
∀m, s : VerhCI ( m, s ) = 1 ⇔ s = Sig xCI ( m )
In this paper, all signature algorithms and hash algorithms are supposed to be secure. The protocol is given in Fig. 1. The smart card works in such a way that smart card and FP condition each other: smart card will not work if the FP deviates from prescribed protocols or changes any information in its database, and smart card cannot communicate directly with outside world, all information that enters or leaves smart card must pass through FP to prevent smart card from leaking FP’s private information during a transaction(e.g. the identity of FP)[1], [2].
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Yang Bo et al.: A Secure Reputation System
16
x p x A −1 ?
(
(3) Does ( s, c) satisfy c = H y A zv B. Anonymous Identity Generating for Feedback Provider A feedback provider’s anonymous identity generating protocol is given in Fig. 2. The smart card firstly generates x p , y p and the signature S p on y p , in which
xA
into x −A1
yA = y p
y p , FP selects x A randomly, and inputs
smart
card.
Smart
card
( mod p ) and signature S A on
generates
y A . This y A will
c
y A seq2 ) ?
If all three verifications pass, CC calculates the submitted feedbacks and uses them to produce the reputation rating for FT. IV. SECURITY AND EFFICIENCY
y p will be used as FP’s public identity. After verifying smart card’s signature on
s
A. Privacy of the Feedback Provider The property of privacy will ensure that the identity of FP is hidden from CC. In our protocol, CC obtains a
token = ( s, c, v, y A , S A ) submitted by FP. To obtain the
FP’s real identity y p , CC must manage to obtain x A and
be used as FP’s anonymous identity.
compute y p = y AA ( mod p ) . In this token, ( s, c ) satisfies x
c = H ( y A s zv c y A seq1 )
C. Token Obtaining Let V be the set of possible rating values, TI selects
x v ∈ Z q and computes zv = g The values
{zv }v∈V
xv
( mod p)
for each v ∈ V .
are made public, while { xv }v∈V are kept
secret. For a rating v ∈ V about FT, FP and TI perform the protocol given in Fig. 3 to create a legitimate token by using blind signature [3]. The variable seq1 , whose initial value is 0, is the times of which FP, under his real identity
y p , requests TI to generate
tokens. Firstly, FP gives v to TI under his real identity which v is FP’s rating about some FT. Schnnor signature[10]
( s, c)
Then a blinded
for message y A seq1 with
secret key xv is generated. FP stores ( s, c, v, y A , S A ) as a token which will be used to provide rating about FT. D. Token Submitting Token submitting protocol is given in Fig. 4. The variable seq2 , its initial value is also 0, is the times of which CC receives tokens form FP under his anonymous identity y A . The values of seq1 recorded by FP and seq2 recorded by CC respectively must be identical.
Let
irrelevant to x A . Also S A = Sig xCI ( y A ) is irrelevant to x A . Therefore it is infeasible for CC to compute FP’s real identity from obtained token. TI knows FP’s real identity y p in token obtaining protocol, and CC knows FP’s anonymous identity y A . But the correspondence of y p and y A is made by blinding factors
β,
( y A , S A ) satisfy Verh ( y A , S A ) = 1 ? CI
(2) Is the structure of y A correct? That is, does FP know
α
which are selected by FP uniquely and secretly. By
colluding with TI, CC can not yet obtain any information about the correspondence of y p and y A . Therefore privacy of feedback provider can be preserved. The blinding factors α and β are unique, which can be proven as follows: Let
α = c − x p c ( mod q ) , β = sxA −1 − s ( mod q ) ,
(α , β )
satisfies
c = H ( tzvα y p β y A seq1 )
and
c = H ( y A s zv c y A seq1 ) .
This is because c− xpc
y p sxA
−1
−s
( mod p )
(∵ t = y ( mod p ) ) r
(1) Does
satisfying
signature with secret key x to message y A seq1 , which is
tzvα y p β = y p r zv
Upon receiving a token submitted from FP, CC verifies the token, the verification includes
x ∈ Zq
zv = y Ax ( mod p ) , it is easy to see that ( s, c ) is the
and
y p , in
.
p
−1
= y p sxA y p r − s zv
c− xpc
( mod p )
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Yang Bo et al.: A Secure Reputation System
17
( mod p ) (∵ s = r − cxv ( mod p ) ) −x c = y A s zv c y p cx zv ( mod p ) x cx − x cx = y A s zv c g g ( mod p ) = y A s zv c ( mod p ) So (α , β ) selected by FP is unique. −1
= y p sxA y p cxv zv
c− xpc
p
v
p
v
p
v
B. Tamper-preventing of Feedback Tamper-preventing of feedback can be obtained in our
protocol. It is because ( s, c ) in the token is a blinded Schnnor signature for message y A seq1 which is signed by TI with
secret key xv . Other parties can not tamper ( s, c ) unless they can break Schnnor signature algorithm. Other parties can not
( y A , S A ) because of the signature algorithm Sig x ( ⋅) , unless they can break the signature algorithm. Also other parties cannot provide another rating v′ ( v′ ≠ v ) using tamper CI
the token issued for v , because corresponding zv′ will not pass the verification
c = H ( y A s zv c y A seq2 ) . So, the
token submitted by FP can not be tampered by other parties. C. Masquerade-Proofing of Identity Masquerading of identity can be checked in our system. Other parties cannot prove the structure of y A , that is he can not prove knowledge of possession of the discrete logarithm
x p x A−1 of y A with respect to base g , even if he can intercept
( y A , S A ) . So masquerade of identity can be checked in token submitting protocol.
D. Shilling Attack Preventing We now show that shilling attack can be prevented in our system. The value seq2 , which is the number of times that CC receives tokens from FP, is contained in the verification
c = H ( y A s zv c y A seq2 ) , and furthermore, this value must
be identical with the times seq1 , which is the number of times that TI generates tokens for FP. This guarantees a rating v can not be provided more than once by FP. V. CONCLUSION We have described construction for a secure reputation system with privacy-preserving of feedback provider, tamper-preventing of feedback, masquerade-proofing of identity and shilling attack preventing, and analysized its security.
REFERENCES [1]
S. Brands, “Off-Line Cash Transfer by Smart Cards,” Technical Report CS-R9455,CWI ( Centre for Mathematics and Computer Science ) , Amsterdam, 1994. Available: http://www.cwi.nl /static /publications /reports/CS-R9455. [2] S. Brands, “Untraceable Off-Line Cash in Wallets with Observers,” Advanced in Cryptology CRYPTO’93, Springer-Verlag, pp. 302-312. [3] J. Camenisch, J. M.Piveteau, and M. Stadler, “An Efficient Fair Payment System,” In proceedings of 3rd ACM Conference on Computer Communications Security, pp. 88-94, ACM press, March 1996. [4] Dietrich Fahrenholtz and Winfried Lamersdorf, “Transactional Security for a Distributed Reputation Management System,” in Proceedings of the 3rd International Conference on Electronic Commerce and Web Technologies, LNCS 2455. Springer, 2002, pp. 214–223. [5] Roslan Ismail, Colin Boyd, Audun Josang, and Selywn Russell, “A Security Architecture for Reputation Systems,” in Proceedings of EC-Web 2003, LNCS 2738, Springer-Verlag, pp. 176–185. [6] Audun Jøsang, Roslan Ismail, Colin Boyd, “A Survey of Trust and Reputation Systems for Online Service Provision,” Decision Support Systems, 43(2) 2007, pp.618-644. Available: http://sky.fit.qut.edu.au/~josang/publications.html published [7] Elan Pavlov, Jeffrey S. Rosenschein, and Zvi Topol, “Supporting Privacy in Decentralized Additive Reputation Systems,” Trust Management, Second International Conference, iTrust 2004, Oxford, UK, March 29 April 1, 2004, Proceedings. LNCS 2995, pp.108-119. [8] P. Resnick and R. Zeckhauser, “Trust Among Strangers in Internet Transactions: Empirical Analysis of eBay's Reputation System,” In M.R. Baye, editor, The Economics of the Internet and E-Commerce, volume 11 of Advances in Applied Microeconomics. Elsevier Science, 2002. [9] P. Resnick, R. Zeckhauser, J. Swanson, and K. Lockwood, “The Value of Reputation on eBay: A Controlled Experiment,” Working paper for the june 2002 esa conference, boston, ma, School of Information, University of Michigan, 2002. URL: http://www.si.umich.edu/ resnick/papers/postcards/. [10] C. P. Schnorr, “Efficient Signature Generation by Smart Cards,” Journal of Cryptology, Vol.4, No.3,(1991), pp. 161-174. [11] M. Voss, A. Heinemann, M. Muhlhauser, “A Privacy Preserving Reputation System for Mobile Information Dissemination Network,” in Proceedings of the First International Conference on Security and Privacy for Emerging Areas in Communications Networks, 2005, (SECURECOMM’05), IEEE Comouter Society, pp. 171 – 181, 2005. Yang Bo received the B. S. degree from Peking University in 1986, and the M. S. and Ph. D. degrees from Xidian University in 1993 and 1999, respectively. From July1986 to July 2005,he had been at Xidian University, from 2002, he had been a professor of National Key Lab. of ISN in Xidian University, supervisor of Ph.D. In May 2005, he has served as a Program Chair for the fourth China Conference on Information and Communications Security (CCICS’2005). He is currently a professor, supervisor of Ph.D. , and the dean of College of Information, South China Agricultural University. He is a senior member of Chinese Institute of Electronics (CIE). His research interests include information theory and cryptography ( E-mail:
[email protected]) Zhou Min received the B. S. and the M. S. degree from South West Normal University in 1995 and 2001 respectively. She is currently a lecturer and Ph. D. candidate in College of Information, South China Agricultural University. Her research interests include information security and computer network ( E-mail:
[email protected])
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Yang Bo et al.: A Secure Reputation System
18
FP
CI
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯→ Smart card ={ p , q , xCI , Sig xCI ( ⋅), VerhCI ( ⋅,⋅)} ←⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ ⎯ Application for a smart card
Fig. 1. Card issuing
Smart Card
FP
x p ∈R Z q y p := g
xp
( mod p )
S p := Sig xCI ( y p ) p p ⎯⎯⎯⎯⎯⎯⎯ →
x ,S
y p := g
xp
( mod p )
VerhCI ( y p , S p ) =1 ?
x A ∈R Z q ←⎯⎯⎯⎯⎯⎯⎯ xA
( mod p ) S A := Sig x ( y A ) y A := y
x −A1 p
CI
SA ⎯⎯⎯⎯⎯⎯⎯ →
y A := y pxA ( mod p ) −1
?
VerhCI ( y A , S A ) =1 store
y A , xA , x p , S A
Fig. 2. A feedback provider’s anonymous identity generating protocol
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Yang Bo et al.: A Secure Reputation System
19
FP
TI ⎯⎯⎯⎯⎯⎯⎯→ r ∈R Z q v, y p
t := y p r ( mod p )
α , β ∈R Z q t := tzvα y p β ( mod p ) c := H ( t y A seq1 )
c := x −p1 ( c − α )( mod q ) c ⎯⎯⎯⎯⎯⎯⎯ →
s := r − cxv ( mod q )
←⎯⎯⎯⎯⎯⎯ s
s′ := s + β ( mod q ) ?
t = y p s′ zv c ( mod p ) s := s′x A ( mod q ) stores token := ( s, c, v, y A , S A ) seq1 := seq1 + 1
Fig. 3 Token obtaining protocol
k ∈R Z q
FP
CC
r := g k ( mod p ) r ,token ⎯⎯⎯⎯⎯⎯⎯⎯⎯ →
?
VerhCI ( y A , S A ) = 1 u ∈R Z q u ←⎯⎯⎯⎯⎯⎯⎯⎯ ⎯
e := ux p xA −1 + k ( mod q ) e ⎯⎯⎯⎯⎯⎯⎯⎯⎯ → ?
ry Au = g e ( mod p ) t := y A s zv c ( mod p ) c = H ( t y A seq2 ) ?
seq2 := seq2 + 1 Fig. 4. Token submitting protocol
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Stanley Chien et al.: Fault-Tolerance of Parallel Computing in Grid Environment
Regular Paper Original Contribution 20
Fault-Tolerance of Parallel Computing in Grid Environment Stanley Chien, Jingyi Zhou, Brian King, and Akin Ecer Abstract — As computers have become more powerful and commonly networked, large-scale computation problems have often been solved using a distributed heterogeneous computer environment that includes computers of different speeds, different brands, and different operating systems. Fault tolerance is an important issue in large scale distributed computing. In this paper, we demonstrate the relationship between the probability of an abnormal stop of the execution of a distributed program and the number of computers used. We show analytically that the probability of this abnormal stop can be greatly reduced by using additional computers and the system environment support for fault tolerance. Further, we establish the relationship of the number of additional computers used (when using fault tolerance) and the probability of abnormal stop of the execution of a distributed program. Lastly we demonstrate the feasibility of the implementation of fault tolerance by the use of the software tool DLB. Index Terms—Dynamic load balancing, fault tolerance, and parallel computing. I.
INTRODUCTION
ue to the rapid advancement of computer and networking technology, networked computers at most institutions can be used for distributed parallel computing. Large parallel computing jobs may require several hundred or even several thousand heterogeneous computers. When such a large-scale distributed job is executed, there is a possibility that a system or hardware fault may occur on one or more of the computers involved. For a tightly coupled parallel job, such as the job using parallel finite element analysis, all processes of the parallel job running on all the computers will hang up if a fault occurs. Without using a fault tolerant computing environment, these hung-up processes need to be manually stopped, cleaned, and restarted by the user. Thus a significant amount of unproductive effort is spent, as well as computing time is lost. As the number of computers used and the time needed for parallel computation in a heterogeneous environment increase, there is an increasing need for providing a stable and faulttolerant parallel computing support in a heterogeneous computing environment [1-9]. To achieve fault tolerance of parallel computing in a heterogeneous environment, both the computing environments and the user’s application programs need to be modified. However, most modification should be done on the system side to shield the user from the unnecessary burden of system management. The modification of user’s application program must be kept at a minimum and be done only when it cannot be achieved on the system side. The questions that need to be considered when attempting to achieve fault tolerance are:
D
• What kinds of faults can be tolerated and what kinds of faults cannot be tolerated? • What additional information is needed in order to achieve fault tolerance? • Who should provide the information for fault tolerance and/or where do they get it? • What degree of fault tolerance is desired and sufficient? • What price are the user and/or organization willing to pay for fault tolerance? In this paper, we first demonstrate that the difficulty of completing a large parallel job in a heterogeneous environment. Then we demonstrate, analytically, that the fault tolerance can be established with additional computers. Third, we establish an analytical relationship between the number of the additional computers and the probability that the parallel job can complete in a heterogeneous computing environment. Also, the implementation of a fault tolerance tool in a heterogeneous computing environment is described and the effectiveness of the tool is demonstrated in the experimental results. II. PROBLEM ANALYSIS During the process of executing large-scale parallel computational fluid dynamics (CFD) programs in a heterogeneous environment, we often encounter various fault situations that made the parallel CFD programs unable to complete properly. When a tightly coupled parallel program, such as a parallel CFD program, does not complete properly, besides the loss of previous computation results, a significant amount of effort is required to stop, clean up, trouble shoot and restart the program. There are several situations that can cause a program stop abnormally. Some of the situations are caused from the users’ side, such as inputting invalid data to the application program. Some of the situations are caused from the application program, such as the bugs in the program or insufficient error handling mechanism. Some of the situations are caused from the computational environment, such as hardware, system software, or network failure. Obviously, faults from a user and/or an application program cannot be tolerated, and even if they are tolerated, the result generated will not be trust worthy anyway. However, faults caused by the computing environment should be tolerated. In this paper we only discuss the tolerance of faults generated by the computing environment. There are many possible sources of execution errors for a parallel program. If the internal logical errors in the application programs are excluded, the possible causes of program execution interruption are as follows: (i) computer
21
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Stanley Chien et al.: Fault-Tolerance of Parallel Computing in Grid Environment
system software error, (2) computer hardware malfunction, (3) computer shut down, and (iv) network error (network breaks down or unacceptably slow). Computer system software errors include operating system limitations; in this case the result is that some processes will be killed, but the computer may still be up and running. When a computer system error (system malfunction) occurs, three possible scenarios may happen: (1) some system tools are killed, (2) some processes of the application program are killed that causes the whole application job to hang up, and (3) the computer crashes. Computer hardware malfunctions include the possibility that the computer is shut down, because of the power disruption or because of some hardware failure. When a computer hardware malfunction occurs, all the application processes running on the computer are killed, and the application programs on other computers hang up because they cannot get information from this computer. The computer with a hardware malfunction cannot be used to run any program until it is restarted. Computer shut down include interruptions from system administrators for scheduled maintenance or system update. In this case, all system and application programs running on the computer are killed, and the computer cannot be used to execute an application job until it is rebooted. The consequence is the same as computer crashing to some users. Examples of network errors include: the computer is disconnected from the network because of an unplugged or broken network cable, or the network is overloaded which causes communication to become extremely slow. When a network error occurs, the parallel processes running on some computers cannot communicate with the parallel processes on other computers, thus the whole parallel program hangs up. If a computer system error (computer crashing), computer hardware malfunction (computer shut down) or network error (computer disconnected) occurs on only a part of the available heterogeneous computers to the user, it is desirable to have a fault tolerant system to recover the hung-up parallel program and move the processes of the parallel program to the working computers. In other words, fault tolerant tools should allow the application program to continue execution with other (possibly less) resources than that assigned originally. From the fault tolerant point of view, the computer system error (computer crashing), computer hardware malfunction (computer shut-down) and network error (computer disconnected) are exactly the same: The parallel application program hangs up and the computer cannot be used to execute the parallel application program until it is rebooted or reconnected to the network. If it is desired to keep the results obtained from the computations within an application before a fault occurs, the application program should support check pointing [10-12]. Check pointing is defined as storing sufficient information so that the application program can restart execution based on previous stored checkpoint data. There are traditionally two approaches for check pointing: System based process check pointing and application based data check pointing. System based process check pointing is often used for homogeneous computers and cannot be used for heterogeneous computers. Application based data check pointing is commonly used in
large parallel applications in which the application program periodically stores the intermediate data update restart files. The restart files include all data for restarting the execution of the application. Application based data check pointing can be implemented on heterogeneous computing environment. We will show that as the number of computers and time needed for the parallel CFD job execution increase, the probability that the parallel application job hangs up also increases. For the following discussion, we assume that there are no internal logical errors in the application programs. Let P1 represent the probability of a system software malfunction happening to a computer during the time period (t–t0) and f 1 be the distribution function of P1, then
P1 =
∫
t
f 1 ( x ) dx
t0
(1)
Let P2 represent the probability of a hardware malfunction happening to a computer during the time period (t – t0) and f 2 be the distribution function of P2, then
P2 =
∫
t
f 2 ( x ) dx
t0
(2)
Let P3 represent the probability of an system administrator’s interruption (computer shut down) happening to a computer during the time period (t–t0) and f 3 be the distribution function of P3, then
P3 =
∫
t
t0
f 3 ( x ) dx
(3)
Let P4 represent the probability of a network error (computer disconnected or extremely busy) happening to a computer during the time period (t–t0) and f 4 be the distribution function of P4, then
P4 =
∫
t
t0
f 4 ( x ) dx
(4)
Let P5 represent the probability that any one of these errors cause a computer to crash during the time period (t – t0), and f 5 be the distribution function of P5, then t
P5 = ∫ f 5 ( x)dx t0
= P1 + P2 + P3 + P4 − P1 ⋅ P2 − P1 ⋅ P3 − P1 ⋅ P4 − P2 ⋅ P3 − P2 ⋅ P4 − P3 ⋅ P4 + P1 ⋅ P2 ⋅ P3 + P1 ⋅ P2 ⋅ P4 + P1 ⋅ P3 ⋅ P4 + P2 ⋅ P3 ⋅ P4 − P1 ⋅ P2 ⋅ P3 ⋅ P4
(5) Since the net effects of all faults are the same to the users, P5 should be considered for the development of a fault tolerance scheme. Assume that n is the number of computers that can be used by a parallel job. Without fault-tolerance, the application job hangs up if one or more of its processes are abnormally stopped during its execution. Let P6 be the probability that the parallel application job hangs up during (t–t0) time period assumes that each of the n computers have the same likelihood of an error (i.e., the probability P5 for each of the computers is the same), then
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Stanley Chien et al.: Fault-Tolerance of Parallel Computing in Grid Environment
22 n
P6 = P5 + C1n (1 − P5 ) P5
n −1
+ C 2n (1 − P5 ) 2 P5
n−2
+ ... + C nn −1 (1 − P5 ) n −1 P5
Table 1. The relationship between P6 and n when P1=P2=P3=P4=0.001.
= 1 − (1 − P5 ) n t
= 1 − (1 − ∫ f 5 ( x)) n t0
n 20 100 500 1000 1400
(6) where
m Cn =
n! that represents the number of ways m! (n − m)!
of choosing m items from n items. From (6), it can be seen that without fault-tolerance, the probability that the parallel job hangs up increases exponentially as n (the number of computer used) increases. The probability that the parallel job hangs up will also increase as (t–t0) increases, where (t–t0) is the time needed to execute the parallel job. This means that a parallel program has a low chance of completing if it needs to run for a very long time. An existing practical way to solve this problem is to use checkpoints. Based on the checkpoint concept, one can define (t-t0) as any fixed time interval for the time interval between two consecutive check pointing (say, one hour or one day). The application job dies also if the computer that executes the controlling process crashes. Usually this controlling process is not fault tolerant during the execution of its controlled parallel application. Therefore, we can divide the n computers used by the parallel application job and the controlling process into two groups, the first group only contains the computer where the controlling process is running (this group may consist of only one computer); the second group contains the rest computers where all the processes of the parallel application job are running. Now assuming that 1 of the n computers is used for executing the job controlling process for job submission and monitoring and the other n-1 are used to complete the parallel job. Let PNFT represent the probability that at least one of the computers that runs the parallel application job fails, where NFT represents no fault tolerance, then
P NFT
= P5 + C + .....
n −1
2 n −1
+ C
1 n −1
(1 − P 5 )
+ C
n − 2 n −1
∫
t t0
2
P5
n − 2
n − 2
P5
n −1
f (x
5
))
Therefore, in order to execute a large parallel job properly, it is necessary to have system-supported fault-tolerance to handle the aforementioned faults. Next, we will show how effective a fault-tolerance scheme can be used in reducing the probability that a parallel job hangs up during its execution. III. EFFECTIVENESS OF FAULT TOLERANCE IN PARALLEL COMPUTING
Assume that there are m (where m>n) computers available and that a minimum of n computers is needed to run the parallel job. If fault-tolerance is supported in the parallel job execution, we assume that 1 of the m computers runs the controlling process for fault tolerance. Therefore, out of the m-1 available computers, the probability that less than n computer running properly during the (t – t0) time period is
P
P + ... + C FT
=
m −1
5
m − n +1 m −1
+
C
m−2 m −1
(1 − P5 ) P5
(1 − P5 ) n − 2 P5
m−2
+
C
m −3 m −1
(1 − P5 ) 2 P5
m −3
m − n +1
(8) Assume that the probability that the controlling process for parallel job submission breaks down during (t – t0) time period equals P5 (same as other computers), and assume that P7 is the probability that parallel job hangs up during (t – t0) time period after the fault-tolerance features are added to the system, then
P7 = P5 + PFT − P5 ⋅ PFT = P5 + (1 − P5 ) PFT (9)
n − 3
(1 − P 5 )
= 1 − (1 − P 5 ) = 1 − (1 −
(1 − P 5 ) P 5
P6 0.0769 0.3298 0.8648 0.9817 0.9963
n −1
(7) Consequently, P6 = P5 + PNFT − P5 ⋅ PNFT = P5 + (1 − P5 ) PNFT . Table 1 demonstrates the relationship between P6 and n. According to the computer fault probability presented in [13], we assume that P1, P2, P3 and P4 are all 0.001 for the demonstration of the idea. Observe that P6 increases from 0.3298 to 0.9963 when n increases from 100 to 1400. Since P6 represents the probability that the parallel application program hangs up, the user will most likely find that even P6 equals 0.3298 is unacceptable.
Intuitively it is easy to see that P7 is less than P6. One way to measure the performance improvement due to utilizing faulttolerance is the ratio P7/P6. However, a better measure of improvement caused by using fault tolerance is to use the ratio PFT/PNFT rather than P7/P6. Lemma 1. Let N and K be positive integers with N ≥ K, then
C N +1 < 2 ⋅ C N K
K
(10)
Proof: Assume without loss of generality that K ≤ N/2 (we can assume this because C NN − K = C KN ). Then N-K+1 ≥ N N/2 + 1. Since N+2>N+1, we have N+2=2(N-N/2 +1)>N+1. Hence, 2(N-K+1)≥ 2(N-N/2 +1)>N+1. Consequently, 2 >(N+1)/(N-K+1)
(11)
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Stanley Chien et al.: Fault-Tolerance of Parallel Computing in Grid Environment
23
P7 /P6 φ(Λ1 ) . The fact that U Λ1 U † = Λ1 implies that U Qi U † = Qi is used to show that original collection is SUS if and only if the new collection (formed by replacing the first pair in the original collection by (Hˆ1 , Dˆ1 ) ) is SUS. The propositions and a theorem to follow consolidate the observations made above. Proposition 2: Let i, j ∈ {1, · · · , r}, U be n×n unitary, Ui be pi ×pi unitary and H1 = D1 = Λ1 . {Hl , Dl }m l=1 is SUS and l U Hl U † = Dl implies U =blk-diag(U1, · · · , Ur ), Ui Bij Uj† = l l l Gij and Bij = 0 if and only if Gij = 0. Proof: U commutes with Λ1 , hence it has the given block diagonal structure and U satisfies U Hl U † = Dl if and only l l l if Ui Bij Uj† = Glij . If Bij = 0 then Glij = Ui Bij Uj† = 0. † l l l If Gij = 0 then Bij = Ui Gij Uj = 0. Hence U Hl U † = Dl l implies Bij = 0 if and only if Glij = 0. Proposition 3: Let i, j ∈ {1, · · · , r}, U be unitary and H1 = D1 = Λ1 . U H1 U † = D1 implies U Qi U † = Qi . † Proof: U ΛQ polynomial in Λ1 , 1 U = Λ1 . Each Qi is a Q Λ −c I Λ −c I given by, Qi = j6=i c1i −cjj . U Qi U † = U j6=i c1i −cjj U † = Q Q Q UΛ1 U † −cj I Λ −c I Λ1 −cj I † = j6=i c1i −cjj = Qi . j6=i j6=i U ci −cj U = ci −cj
Proposition 4: Let U be unitary U Hl U † = Dl im2 plies U Qi Hl Qi U † = Qi Dl Qi and U Qk SH Qk U † = l (i,j) 2 Qk SDl (i,j) Qk . i, j, k ∈ {1, · · · , r}. Proof: By Proposition 3, U Qi Hl Qi U † = U Qi U † U Hl U † U Qi U † = Qi Dl Qi . Similarly U SHl (i,j) U † = 2 SDl (i,j) and U SH U † = U SHl (i,j) U † U SHl (i,j) U † = l (i,j) 2 2 2 SD . Hence U Qk SH Q k U † = Q k SD Qk . l (i,j) l (i,j) l (i,j) m Theorem 1: Let {Hl , Dl }l=1 be the given collection of pairs of matrices with H1 = D1 = Λ1 . Consider the Λ1 induced partition. If any one of the following is not true: l 1) Bii = αli Ipi , αli ∈ R, l 2) Bij = 0, if pi 6= pj and † l 3) B l ij Bij = αlij Ipi , αlij ∈ R+ , if pi = pj ˆ 1 with φ(Λ ˆ 1) > then there exists a diagonal hermitian matrix Λ m ˆ ˆ φ(Λ1 ) and a collection of hermitian matrices {Hl , Dl }l=1 with ˆ1 = D ˆ1 = Λ ˆ 1 such that {Hl , Dl }m is SUS if and only if H l=1 m ˆ ˆ {Hl , Dl }l=1 is SUS. Proof: Suppose (1) is not true for some ˆl ∈ {1, · · · , m} and for some ˆi ∈ {1, · · · , r}. Let H = Λ1 + ǫQˆi Hˆl Qˆi and ˆ D = Λ1 + ǫQˆi Dˆl Qˆi ǫ ∈ R. Since, [Qˆi Hˆl Qˆi ]ˆiˆi = Bˆilˆi is not a multiple of identity and this is the only sub-matrix in Qˆi Hˆl Qˆi that is non-zero there exists ǫ such that φ(H) > φ(Λ1 ) (ǫ need not be small !). Suppose the collection {Hl , Dl }m l=1 is SUS and U is a unitary matrix such that U Hl U † = Dl , by Proposition 3
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Hari Krishna V.J et al.: A “perturb-permute” method to solve the Simultaneous Unitary Similarity problem
33
U HU † = D. Let M and N diagonalize H and D respectively. ˆ 1 = N DN † . φ(Λ ˆ 1 ) > φ(Λ). Let H ˆ l = M Hl M † M HM † = Λ † ˆ ˆ ˆ1 = D ˆ 1. and Dl = N Dl N for l ∈ {2, · · · , m} and H1 = Λ m ˆ ˆ ˆ The new collection {Hl , Dl }l=1 is SUS since there exists U = ˆH ˆ lU ˆ† = D ˆ l . To prove the only if part of N U M † such that U ˆ l, D ˆ l }m is the theorem, suppose the new collection i.e {H l=1 † ˆ ˆ ˆ ˆ ˆ l , let SUS and U is a unitary matrix such that U Hl U = D ˆ M . U Hl U † = Dl l ∈ {2, · · · , m}. U ˆ commutes U = N †U ˆ with Λ1 , M and N diagonalize H and D respectively, hence U has the necessary block diagonal structure to commute with Λ1 thus U H1 U † = D1 implying {Hl , Dl }m l=1 is SUS. Without loss of generality it can be assumed that (1) is true. Suppose, (2) is not true for some ˆl ∈ {1, · · · , m} and ˆi, ˆj ∈ {1, · · · , r}. Let pˆi > pˆj . Consider SHˆ(ˆi,ˆj) and ˆ
ˆ
ˆ
l
2 2 SDˆ(ˆi,ˆj) . [Qˆi SH Q ] i = αˆli Ipˆi + Bˆilˆj Bˆil†ˆj . [Qˆi SH Q] (ˆi,ˆ j) ˆi ˆiˆ (ˆi,ˆ j) ˆi ˆiˆi l
ˆ l
ˆ l
ˆ ˆ is a multiple of identity if and only if Bˆilˆj Bˆil†ˆj is a multiple of ˆ 2 identity. Since Bˆilˆj 6= 0 and pˆi > pˆj , [Qˆi SH ˆ ˆ Qˆi ]ˆiˆi is not ˆ l (i,j) 2 a multiple of identity. Other sub-matrices in Qˆi SH ˆ ˆ Qˆi are ˆ l (i,j) 2 2 zero. Let H = Λ1 + ǫQˆi SH (ˆi,ˆj) Qˆi , D = Λ1 + ǫQˆi SD ˆ ˆ Qˆi . ˆ ˆ(i,j) l
l
There exists an ǫ ∈ R, such that φ(H) > φ(Λ1 ). Suppose the collection {Hl , Dl }m l=1 is SUS and U is a unitary matrix such that U Hl U † = Dl , by Proposition 4 U HU † = D. Let M and ˆ 1 = N DN † . φ(Λ ˆ 1 ) > φ(Λ1 ). N be such that M HM † = Λ † ˆ ˆ ˆ ˆ ˆ Let H1 = D1 = Λ1 . Let Hl = M Hl M and Dl = N Dl N † , ˆ l, D ˆ l }m is SUS since l ∈ {2, · · · , m}. The new collection {H l=1 † ˆ ˆ ˆ ˆ ˆ l . The proof there exists U = N U M such that U Hl U † = D for the only if part of the theorem is the same as in the previous paragraph when (1) is assumed to be false. Suppose (3) is not true, for some ˆ l, ˆi and ˆj. H and D are same as when (2) is assumed not true. Similar arguments from ˆ 1, H ˆ l and D ˆ l l ∈ {2, · · · , m} with φ(Λ ˆ 1) > then on give Λ m ˆ ˆ φ(Λ1 ) such that {Hl , Dl }l=1 is SUS if and only if {Hl , Dl }m l=1 is SUS. Hence the proof and the theorem. By Theorem 1 the structure of Hl and Dl that does not allow reduction of degeneracy of any of the eigenvalues of Λ1 is known. In the Λ1 -induced partition, the diagonal blocks are multiples identity, the off-diagonal rectangular blocks are zeros and the off-diagonal square blocks are multiples of unitary matrices. D. Problem reduction by permutation This sub-section deals with the case when the first pair i.e (H1 , D1 ) is (Λ1 , Λ1 ) and the remaining matrices i.e Hl , Dl , l ∈ {2, · · · , m} have the form specified in the statement of Theorem 1 that does not allow perturbation of Λ1 . By Proposition 2 {Hl , Dl }m l=1 is SUS implies the following: l 1) Bii = Glii = αli Ipi αli ∈ R, l 2) Bij = Glij = 0 if pi 6= pj and † † l 3) B l ij Bij = Gl ij Glij = αlij Ipi αlij ∈ R+ if pi = pj . Throughout this section, given the Λ1 -induced partition, the sub-matrices in Hl and Dl are in the form specified by three rules given above. Λ1 has r distinct eigenvalues. Given any k ∈ {1, · · · , r} let S = {1, · · · , k}. Given the Λ1 -induced partition of Hl s a relation is defined on S which is shown to be an equivalence
relation on S and hence partitions S. The relation is such that given any i, j ∈ [d] ( [d] denotes an equivalence class) i, j are linked by a “path” made up of the non-zero (multiple l of unitary) sub-matrices. Using this path a product pr(Bij ) is l associated with Bij . It is shown that if the Λ1 -induced partition of Dl s is considered, the path between any two indices in S would be the same and S can again be partitioned in the same way. A product pr(Glij ) is associated with Glij . If there exists i, j such that this product is not a multiple of identity it is shown that any U such that U Hl U † =Dl is is forced to block further thus reducing the problem. In this case Hl s and Dl s are said to be in “Reduction-form”. Otherwise if for every k, for all the i, j the product associated is a multiple of identity, Hl s and Dl s are said to be in “Solution-form” and in this case a U sol is identified. The U sol identified is such that {Hl , Dl }m l=1 is SUS if and only if U sol Hl U †sol = Dl . When Λ1 has all eigenvalues non-degenerate once the equivalence classes are identified it is shown that Hl s and Dl s are directly in “Solution form”. 1) The k-partition, Reduction-form and Solution-form: Let k ∈ {1, · · · , r}, S = {1, · · · , k} and i, j ∈ S. Given the Λ1 induced partition of Hl s i is said to be related to j if there exists a sequence of 2-tuples (i1 , i0 ), (i2 , i1 ), · · · , (it , it−1 ) satisfying the following two properties: 1) i0 = i, it = j, iq ∈ S, q ∈ {1, · · · , t} and l(i ) 2) there exists l(iq−1 ) ∈ {1, · · · , m} such that Biq iq−1 6= q−1 0. This sequence of 2-tuples is referred to as a path from i to j. i is related to i since Λ1 =blk-diag(c1Ip1 , · · · , cr Ipr ), and all the ci can always be considered to be non-zero (eigenvalues can be shifted by using I). i is related to j implies j is related to i since a path from j to i can be constructed by reversing the sequence of 2-tuples constituting the path from i to j and reversing the elements in each 2-tuple. Given a path from i to j and j to ˆj (ˆj ∈ S) a path from i to ˆj can be constructed by concatenating the two paths. This relation is an equivalence relation on S. S can be partitioned into equivalence classes. Given the Λ1 -induced partition of Dl s a relation on S can l be similarly defined. The paths remain the same since Bij l is 0 if and only if Gij is 0. Hence the partition remains the same. Such a partition of S is referred to as k-partition of S. Let an equivalence class in this partition be denoted by [d] (d ∈ S) and let i, j ∈ [d]. The path from i to d is denoted by (i1 , i0 ), (i2 , i1 ), · · · , (it(i) , it(i)−1 ). i0 = i, it(i) = d. The path from j to d is denoted by (j1 , j0 ), (j2 , j1 ), · · · , (jt(j) , jt(j)−1 ). j0 = j, jt(j) = d. l Definition 1: pr(Bij ),pr(Glij ): In the k-partition i, j belong to a class [d]. l pr(Bij )
=
t(i) Y
t(j) l(it(i)−q ) l Bit(i)+1−q it(i)−q Bij
q=1
=
Y
q=1
l(j
)
l(j
)
(Bjq jq−1 )−1 . q−1
q=1
t(i)
pr(Glij )
Y
t(j) l(it(i)−q ) l Git(i)+1−q it(i)−q Gij
Y
(Gjq jq−1 )−1 . q−1
q=1
The inverses of the matrices that appear in the Definition 1 exist since the matrices are non-zero multiples of of unitary. l pr(Bij ) and pr(Glij ) are normal matrices.
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Hari Krishna V.J et al.: A “perturb-permute” method to solve the Simultaneous Unitary Similarity problem
34
Proposition 5: Let H1 = D1 = Λ1 , U =blkdiag(U1 , · · · , Ur ) be unitary and i, j ∈ [d] where [d] is an equivalence class in the k-partition. {Hl , Dl }m l=1 is SUS and l U Hl U † = Dl implies pr(Glij )=Ud pr(Bij )Ud† . Proof: Since i0 = i, j0 = j and it(i) = d = it(j) by l Proposition 2 Ud pr(Bij )Ud† is Qt(i) l(it(i)−q ) † † l q=1 Uit(i)+1−q Bit(i)+1−q it(i)−q Uit(i)−q Ui Bij Uj Qt(j) l(jq−1 ) −1 † Ujq q=1 Ujq−1 (Bjq jq−1 ) t(i) Y
=
t(j)
l(i
)
t(i)−q l Git(i)+1−q it(i)−q Gij
q=1
Y
l(j
)
(Gjq jq−1 )−1 q−1
q=1
pr(Glij ).
=
Definition 2: Reduction-form and Solution-form: Let ˆl ∈ ˆ H1 = D 1 = {1, · · · , m}, kˆ ∈ {1, · · · , r}, ˆi, ˆj ∈ {1, · · · , k}. ˆ Λ1 . Hl s are in Reduction-form if there exist k, ˆ l, ˆi, ˆj such that ˆ ˆ ˆ in the k-partition , i, j belong to the same equivalence class ˆ and pr(Bˆilˆj ) is not a multiple of identity. Hl s are in Solution-form if the following is true. For all k ∈ {1, · · · , r}, whenever i, j are in the same equivalence l l class in the k-partition pr(Bij ) = βij I, l ∈ {1, · · · , m}, for l some complex βij . Thus Hl s are not in Reduction-form implies Hl s are in Solution-form. By Proposition 5 if the collection {Hl , Dl }m l=1 is SUS then Hl s are in Reduction-form implies Dl s are in Reduction-form and Hl s are in Solution-form implies Dl s are in Solution-form Definition 3: Uisol : In the r-partition of S = {1, · · · , r}, let the equivalence class to which an i (i ∈ S) belongs be denoted by [d(i)]. H1 = D1 = Λ1 . Hl s are in Solution-form and Dl s are in Solution-form. Uisol =
t(i) Y
l(i
)
(Giq iq−1 )−1 Ud(i) q−1
q=1
t(i) Y
l(i
)
t(i)−q Bit(i)+1−q it(i)−q .
q=1 †
l Uisol is unitary since B l ij Bij = αlij Ipi and † † (Glij )−1 (Glij )−1 = (Glij Glij )−1 = (αlij )−1 Ipi . Theorem 2: Given a collection {Hl , Dl }m l=1 with H1 = D1 = Λ1 if Hl s are in Reduction-form then there exists a diagˆ 1 with φ(Λ ˆ 1 ) > φ(Λ1 ) and a collection onal hermitian matrix Λ ˆ l, D ˆ l }m with H ˆ1 = D ˆ1 = Λ ˆ 1 such of hermitian matrices {H l=1 ˆ l, D ˆ l }m is SUS. that {Hl , Dl }m is SUS if and only if { H l=1 l=1 Proof: Hl s are in Reduction-form. By Definition 2, there ˆ ˆl, ˆi, ˆj such that in the k-partition, ˆ ˆi, ˆj belong to exist k, ˆ the same equivalence class and B = pr(Bˆilˆj ) is not a multiple of identity. Let {Hl , Dl }m l=1 be SUS and let U be a unitary matrix such that U Hl U † = Dl . By Proposition 2 U = blk − diag(U1 , · · · , Ur ) where Ui is pi × pi unitary. By ˆ Proposition 5 Dl s are in Reduction-form and G = pr(Gˆliˆj ) is unitarily similar to B. B and G are normal matrices. Let M diagonalize B and N diagonalize G. M BM † = λ = N GN † . φ(λ) ≥ 2. Let ˆi and ˆj belong to the equivalence class [d] ( d ∈ ˆ ). Let Λ ˆ 1 =blk − diag(c1 Ip1 , · · · ,cd−1 Ip , ǫλ, {1, · · · , k} d−1 cd+1 Ipd+1 , · · · , Ipr ), U1 =blk − diag(Ip1 , · · · , Ipd−1 , M, Ipd+1 , · · · , Ipr ) and U2 =blk − diag(Ip1 , · · · , Ipd−1 , N, Ipd+1
ˆ l = U 1 Hl U † , D ˆ l = U2 Dl U † , l ∈ , · · · , Ipr ). Let H 1 2 ˆ ˆ ˆ {2, · · · , m} and H1 = D1 = Λ1 . . ǫ is a real number such that the eigenvalues of ǫλ do not belong to ˆ 1 ) > φ(Λ1 ). Let U ˆ = U2 U U † = {c1 , · · · , cr } so that φ(Λ 1 † ˆΛ ˆ 1U ˆ† = blk − diag(U1 , · · ·, Ud−1 , N Ud M ,· · · , Ur ). U blk − diag(Ip1 , · · ·, Ipd−1 ,ǫN Ud M † DM Ud† N † , · · · , Ipr ). By Proposition 5 Ud BUd† = G hence ǫN Ud M † λM Ud† N † ˆΛ ˆ 1U ˆ† = Λ ˆ 1 . Thus =ǫN UdB Ud† N † = ǫN GN † = ǫλ and U † ˆH ˆ lU ˆ = D ˆ l l ∈ {1, · · · , m} and {H ˆ l, D ˆ l }m is SUS. To U l=1 ˆ prove the only if part of the theorem suppose there exists U ˆH ˆ lU ˆ † = Dl , let U = U † U ˆ U1 . Since U ˆ commutes such that U 2 ˆ 1 , U has the block-diagonal structure required to with Λ commute with Λ1 and U Hl U † = Dl l ∈ {1, · · · , m}. Hence the proof and the theorem. Theorem 3: Given a collection {Hl , Dl }m l=1 with H1 = D1 = Λ1 , if Hl s are in Solution-form and Dl s are in Solutionform then U Hl U † = Dl where U is a unitary matrix if l l and only if pr(Bij ) = βij I = pr(Glij ) and U = U sol =blksol sol diag(U1 , · · · , Ur ). Proof: Hl s are in Solution-form and Dl s are in Solution-form. Let {Hl , Dl }m l=1 be SUS. By Proposition 5 l l l pr(Bij ) = βij I implies pr(Glij ) = βij I. Let U Hl U † = Dl . It is necessary that U = (U1 , · · · , Ur ) where Ui is pi × pi unitary. It is to be shown that Ui = Uisol . In the rpartition let i belong to [d(i)]. The path from i to d(i) is (i1 , i0 ), (i2 , i1 ), · · · , (it(i) , it(i)−1 ), where i0 = i, it(i) = d(i). qˆ ∈ {0, · · · , t(i)}, iqˆ ∈ [d(i)]. The proof is by induction on qˆ. Assume Ui = Uisol , i ∈ {it(i)−ˆq , · · · , it(i) }. Let k = it(i)−ˆq . The path from k to d(i) is (k1 , k0 ), · · · , (kt(k) , kt(k)−1 ), where ku = it(i)−ˆq+u , u ∈ {0, · · · , qˆ}. t(k) = t(it(i)−ˆq ) = qˆ. Qt(k) l(kq−1 ) −1 Q l(kt(k)−q ) Uksol = Ud(i) t(k) q=1 (Gkq kq−1 ) q=1 Bit(k)+1−q it(k)−q . Let, kˆ = it(i)−(ˆq+1) . The path from kˆ to d(i) is ˆ ˆ )= (kˆ1 , kˆ0 ), · · · , (kˆt(k) (k0 , kˆ0 ), (k1 , k0 ) ···, ˆ , kt(k)−1 ˆ (kt(k) , kt(k)−1 ). t(k) = t(k) + 1. It is to be shown that ˆ l(k)
ˆ l(k)
ˆ l(k)
ˆ l(k)
Ukˆ = Ukˆsol . Bkkˆ 6= 0 and Gkkˆ 6= 0. Uk Bkkˆ Ukˆ† = Gkkˆ ˆ l(k)
ˆ l(k)
ˆ l(k)
ˆ l(k)
implies Ukˆ = (Gkkˆ )−1 Uk Bkkˆ =(Gkkˆ )−1 Uksol Bkkˆ = ˆ ˆ Qt(k) Qt(k) ˆq−1 ) l(k ) ˆ ˆ l(k )−1 Ud(i) q=1 Bi ˆt(k)−q i ˆ = Ukˆsol . When q=1 (Gk ˆ k ˆ q
q−1
t(k)+1−q t(k)−q
qˆ = 0 it is to be shown that Uit(i) =Ud(i) =Uisol . The path t(i) from d(i) to d(i) is (d(i), d(i)) , t(it(i) ) = t(d(i)) = 1 1 = G1d(i)d(i) = cd(i) Ipd(i) ×pd(i) . Hence and Bd(i)d(i) Uisol = (cd(i) )−1 (Ipd(i) )−1 Ud(i) cd(i) Ipd(i) = Ud(i) t(i) thus kick-starting the induction process. Sufficiency is proved if it can be shown that l Uisol Bij Ujsol† = Glij , i, j ∈ {1, · · · , r}. If i, j do not belong to the same equivalence class in the r-partition, l Bij = 0 = Glij , l ∈ {1, · · · , m}, otherwise there is a path from i to j and they would be in the same equivalence class. Hence it needs to be shown that l Uisol Bij Ujsol† = Glij , i, j ∈ [d] where d = d(i) = d(j). Let Qt(i) l(it(i)−q ) Qt(j) l(j ) −1 T1 = q=1 Bit(i)+1−q it(i)−q , T2 = q=1 (Bjq jq−1 ) . q−1 Qt(i) l(it(i)−q ) Qt(j) l(jq−1 ) −1 T3 = q=1 Git(i)+1−q it(i)−q , T4 = q=1 (Gjq jq−1 ) . Hl s are in Solution-form, Dl s are in Solution-form l l l l and pr(Bij ) = βij I = pr(Glij ). pr(Bij )=βij I −1 −1 −1 −1 l l l l implies Bij =βij T1 T2 , Gij =βij T3 T4 . Since
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Hari Krishna V.J et al.: A “perturb-permute” method to solve the Simultaneous Unitary Similarity problem
35
l Uisol =T3−1 Ud T1 and Ujsol =T4 Ud T2−1 , Uisol Bij Uj†sol = † −1 −1 −1 −1 −1 −1 l l βij T3 Ud T1 T1 T2 T2 Ud T4 = βij T3 T4 = Glij . Hence the proof and the theorem. 2) Non-degenerate case: Let Λ1 have all eigenvalues distinct i.e r = n and pi = 1. In the Λ1 -induced partition l every sub-matrix is of size 1 × 1. Bij = Hl (i, j) and l Gij = Dl (i, j). By Proposition 2 if U Hl U † = Dl then Ui Hl (i, j)Uj† = Dl (i, j) where Ui and Uj are modulus 1 scalars. This implies that |Hl (i, j)| = |Dl (i, j)|. All elements in Hl being scalars the diagonal blocks (scalars) are trivially multiples of unity and the off-diagonal elements are trivially multiples of unitary matrices. Thus for any k ∈ {1, · · · , n} if i, j belong to the same equivalence class l in the k-partition , pr(Bij )s being scalars are multiples of identity, hence Hl s are in Solution-form, Dl s are in Solutionform and U sol can be identified. By Theorem 3 it can be found out if the collection {Hl , Dl }m l=1 is SUS. 3) Permutation based method to get to Reduction-form or Solution-form: Given the Λ1 -induced partition, the submatrices in Hl and Dl are in the form discussed at the beginning of the section III-D. If the equivalence classes in the k-partition are identified then it could be found out if Hl s are in Reduction-form or Solution-form. A permutation based algorithm to do this is presented here (pseudocode in Appendix A). Given k and S = {1, · · · , k} following is the notation used to describe k-partition of S. The number of equivalence classes in the partition is given by the number η(k). The collection of η(k) scalars {xu }u=1 are such that each xu belongs to S, x1 = 1 and xu < xu+1 . Hl s are said to be block-diagonal at some l ˆi ∈ {1, · · · , k} if Bij = 0 whenever either i ≥ ˆi and j < ˆi or ˆ ˆ j ≥ i and i < i. Following is the description of a unit step of the permutation based algorithm to get to Reduction-form or Solution-form. Given, 1) a collection {Hl , Dl }m l=1 with H1 = D1 = Λ1 , η(k) 2) the k-partition specified by η(k), {xu }u=1 such that Hl s are block-diagonal at xu , Dl s are block-diagonal at xu with the distinct equivalence classes given by {x1 , · · · , x2 − 1}, {x2 , · · · , x3 − 1} · · · {xη(k)−1 , · · · , xη(k) − 1} and {xη(k) , · · · , k}, as input, a unit step outputs the following: ˆ l, D ˆ l }m with H ˆ1 = D ˆ1 = Λ ˆ 1 (Λ ˆ 1 is a 1) a collection {H l=1 ˆ l, D ˆ l }m is SUS if and permutation of Λ) such that {H l=1 only if {Hl , Dl }m l=1 is SUS, 2) the k + 1-partition of S specified by η(k + 1), η(k+1) {xu }u=1 such that Hl s are block-diagonal at xu and Dl s are block-diagonal at xu with the distinct equivalence classes given by {x1 , · · · , x2 − 1}, {x2 , · · · , x3 − 1} · · · {xη(k+1)−1 , · · · , xη(k+1) − 1} and {xη(k+1) , · · · , k + 1}. To produce this output Hl s are scanned in rows less than ˆ k + 1 and columns greater than k to find a non-zero Bˆilˆj , ˆl ∈ {1, · · · , m}, ˆi ∈ {1, · · · , k} and ˆj ∈ {k + 1, · · · , r}. ˆ
If a non-zero Bˆilˆj exists a column permutation matrix R which exchanges the columns containing Bˆilˆj with the columns
l ˆ l = R† Hl R and D ˆl = containing Bik+1 is used to get H † ˆ ˆ ˆ R Dl R where H1 = Λ1 = D1 is a diagonal matrix with ˆ l, D ˆ l }m is the eigenvalues rearranged. By Proposition 1 {H l=1 m SUS if and only if {Hl , Dl }l=1 is SUS. In Hˆl there exists ˆ l a sub-matrix in column k + 1 and row ˆi denoted by Bˆik+1 ˆ which is non-zero. Since i belongs to the equivalence class {xη(k) , · · · , k} there is a path from ˆi to xη(k) . The path from k + 1 to xη(k) is obtained by simply concatenating the 2-tuple (ˆi, k +1) to the path from ˆi to xη(k) . No new equivalence class is discovered. η(k) = η(k + 1) and k + 1 belongs to the same equivalence class as k. (l(k + 1) as in the definition of the kpartition in section III-D1 is ˆl). The k + 1-partition is known and all parameters specified in the output specification of a unit ˆ step of the algorithm are obtained. If no non-zero Bˆilˆj exists it implies that the matrices are block-diagonal at k + 1, giving a new equivalence class. η(k + 1) = η(k) + 1, xη(k+1) = k + 1. ˆ l = Hl and D ˆ l = Dl . The k + 1-partition of S is known H and all the parameters given in the output specification are l obtained. After each unit step pr(Bij )s can be calculated to find if Hl s are in Reduction-form. This way if the algorithm runs till k = r and Reduction-form is not reached then Hl s are in Solution-form.
E. Summary An iteration of the “perturb-permute method” is made up of the following two steps. By the discussion in section III-B in any iteration the first pair of matrices in the given collection {Hl , Dl }m l=1 , is (Λ1 , Λ1 ) i.e H1 = Λ1 = D1 , where Λ1 =blkdiag(c1 Ip1 , · · · , cr Ipr ). The sub-matrices in the Λ1 -induced l partition are denoted by Bij , Glij i, j ∈ {1, · · · , r}. Step 1 By Theorem 1 in section III-C , if the sub-matrices in the Λ1 -induced partition allow perturbation, an equivalent problem with fewer degeneracies is obtained and the next step is Step 1. If such a perturbation is not possible next step is Step 2. Step 2 In section III-D1 by Definition 2 Hl s are either in Reduction-form or Solution-form. By Theorem 2 in case of Reduction-form an equivalent problem with fewer degeneracies is obtained and the next step is Step 1. If Hl s are in Solution-form, by Theorem 3, if at all there is a U such that U Hl U † = Dl then U =blkdiag(U1sol , · · · , Ursol ). Hence the problem is solved. Let the Λ1 at the beginning of an iteration be Λb1 and the Λ1 at the end of the iteration be Λe1 . It is guaranteed that either the problem itself is solved (Solution-form) or φ(Λe1 ) > φ(Λb1 ) (perturbation or Reduction-form). Thus in a maximum of n iterations it could be found out if the given collection is SU S and if it is SUS, a unitary U such that U Hl U † = Dl is also found out. F. Example In this section an example with n = 8, m = 2 is described. The perturb-permute method is applied to the given matrices and the equivalent problem obtained in each iteration of the method as described in section III-E is presented. In the first iteration Λ1 with 4 distinct eigenvalues, each with multiplicity
36
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Hari Krishna V.J et al.: A “perturb-permute” method to solve the Simultaneous Unitary Similarity problem
2, is obtained and the matrices are in Reduction-form, setting up an equivalent problem with 5 distinct eigenvalues. In each of the next three iterations perturbation is possible, resulting in 8 distinct eigenvalues. This is the “Non-degenerate” case and hence, the matrices are in Solution-form and the problem can be solved. In this example the U sol obtained solves the given problem. The matrices at the end of an iteration are displayed on pages 9-11. Using M1 that diagonalizes H1 and N1 that diagonalizes D1 an equivalent problem with H11 = M1† H1 M1 = Λ11 = N1† D1 N1 = D11 = blk-diag(.5I2, .4I2 , .3I2 , .1I2 ), H21 = M1† H2 M1 and D21 = N1† D2 N1 is set up. In the Λ11 -induced partition of H21 and D21 the diagonal sub-matrices are multiples of identity, the square sub-matrices are multiples of unitary and hence no perturbation is possible. The permutation method described in section III-D3 is applied, to obtain, H22 = R† H11 R, D22 = R† D21 R, Λ21 =blk-diag(.5I2, .1I2 , .3I2 , .4I2 ) =R† Λ11 R, where, R is a permutation matrix that exchanges columns 7, 8 with columns 3, 4. H22 and D22 are in Reduction-form with ˆ l = 2, kˆ = 4. The 4partition of S = {1, · · · , 4} has one equivalence class, i.e, [1]. The path from 2 to 1 is (1, 2), the path from 3 to 1 is (1, 3) and the path from 4 to 1 is (2, 4), (1, 2). Let the sub-matrices in the Λ21 -induced partition be denoted by Buv in H22 and Guv in D22 , u, v ∈ {1, · · · , 4}. Let, i = 3, j = 4. pr(Buv ) u 6= i, v 6= j, −1 −1 is a multiple of identity. pr(B34 )= B12 B34(B24 ) (B12 ) = 0.6279 + 0.0553i 0.2153 − 0.0281i . −0.2093 − 0.0575i 0.6295 + 0.0318i pr(G G12 G34(G24 )−1 (G12 )−1 = 34 )= 0.6250 + 0.0972i −0.0884 − 0.1912i . Let V1 0.1139 − 0.1772i 0.6324 − 0.0101i diagonalize pr(B34 ) and W1 diagonalize pr(G34 ). U11 =blkdiag(V1 , V2 , V3 , V4 ), U21 =blk-diag(W1, W2 , W3 , W4 ) where V2 , V3 , V4 and W2 , W3 , W4 are 2 × 2 identity matrices. † † † Λ31 = U11 Λ21 U11 = U21 Λ21 U21 = Λ21 . H23 = U11 H22 U11 . 3 2 † ˆ ˆ D2 = U21 D2 U21 . Let, Buv and Guv denote the subˆ34 ) = pr(G ˆ 34 ) = matrices in H23 and D23 . pr(B 0.6137 + 0.2605i 0.0000 + 0.0000i , is a diagonal 0.0000 − 0.0000i 0.6437 − 0.1733i matrix with 2 distinct eigenvalues. Hence, an equivalent ˆ 3 =blk-diag(.5, .45, .1I2 , .3I2 , .4I2 ) and H 3 problem with Λ 1 2 3 ,D2 is set up. Let, the sub-matrices in H23 and D23 be denoted by Buv and Guv respectively, u, v ∈ {1, 2, · · · , 5}. The 1 × 2, rectangular matrix, B13 (G13 ), is non-zero, hence, † † perturbation is possible. The matrix B33 B33 + B13 B13 0.8962 −0.3245 − 0.1335i = , is not a mul−0.3245 + 0.1335i 0.1838 tiple of identity, 1.04, 0.04, are the two distinct eigenvalues † † and it is diagonalized by V3 . The matrix G33G33 + G13 G13 0.7108 −0.2855 − 0.3733i = has eigenval−0.2855 + 0.3733i 0.3693 ues 1.04, 0.04 and it is diagonalized by W3 . Let, U12 =blkdiag(1, 1,V3,V4 ,V5 ) and U22 =blk-diag(1, 1,W3,W4 ,W5 ) where V4 , V5 ,W4 and W5 are 2×2, identity matrices. An equivalent problem with Λ41 =blk-diag(.5, .45, 1.14, .14, .3I2, .4I2 ), † † H24 = U12 H23 U12 and D24 = U22 D23 U22 is now set up. In the Λ41 -induced partition, suppose Buv and Guv , u, v ∈
{1, · · · , 6}, denote the sub-matrices, the rectangular 1 × 2 matrix B15 (G15 ) is non-zero, Hence, as described in the previous † † iteration the matrices B55 B55 + B15 B15 , G†55 G55 + G†15 G15 , can be used to perturb the eigenvalue .3 of Λ41 . Let the unitary matrices used to set up the equivalent problem be U13 and U23 . Λ51 =blk-diag(.5, .45, 1.14, .14, 1.34, 1.3, .4, .4). † † H25 = U13 H24 U13 and D25 = U23 D24 U23 . In the Λ51 -induced partition, suppose Buv and Guv , u, v ∈ {1, · · · , 7}, denote the sub-matrices, the rectangular 1 × 2 matrix B37 (G37 ) is nonzero. The eigenvalue .4 is perturbed to get eigenvalues .53 and .44. The equivalent problem obtained is the “non-degenerate” case with, Λ61 =blk-diag(.5, .45, 1.14, .14, 1.34, 1.3, .53, .44). † † H26 = U14 H25 U14 and D26 = U24 D25 U24 . P1 , P2 , P3 are column permutation matrices. P1 interchanges columns 2, 3, P2 interchanges columns 3, 5 and P3 interchanges columns 4, 7. P = P1 P2 P3 . H27 = P † H26 P . D27 = P † D26 P . H27 , D27 are in Solution-form. The 8-partition of S = {1, 2 · · · , 8} has 2 equivalence classes [1] = {1, 2, 3, 4},[5] = {5, 6, 7, 8}. The paths from 2, 3, 4 to 1 are (1, 2), (1, 3), (2, 4)(1, 2) respectively. The paths from 6, 7, 8 to 2 are (6, 5), (7, 5), (5, 6)(6, 8) respectively. Hence, U sol =blk-diag(u1, u2 , u3 , u4 , u5 , u6 , u7 , u8 ) where u1 , u5 can be chosen to be any modulus one complex number. −1 −1 u2 =(D27 (1, 2)) u1 H27 (1, 2). u3 = (D27 (1, 3)) u1 H27 (1, 3). −1 −1 u4 = (D27 (2, 4)) (D27 (1, 2)) u1 H27 (1, 2)H27 (2, 4). u6 = −1 −1 (D27 (5, 6)) u5 H27 (5, 6). u7 = (D27 (5, 7)) u5 H27 (5, 7). u8 −1 −1 7 7 7 = (D2 (6, 8)) (D2 (5, 6)) u5 H2 (5, 6)H27 (6, 8). Suppose, u1 = 1, u5 = 1, U sol =blk-diag(1, 0.8488 − 0.5288i, −0.3619 − 0.9322i − 0.9971 − 0.0765i, 1, −0.3463 − 0.9381i, 0.6086 + 0.7935i, 0.5761 − 0.8174i). Solution exists iff U sol H27 U †sol = D27 . This turns out to be true. The U that solves U Hl U † = Dl , l ∈ {1, 2} is given by U = † † † † N1 RU21 U22 U23 U24 P U sol P † U14 U13 U12 U11 R† M1 . IV. R ELATED PROBLEMS In this section other simultaneous similarity problems that can be solved by the “perturb-permute” method are described. Given a collection of pairs of n × n matrices {Yl , Zl }m l=1 (not Yl −Yl† Yl +Yl† ˆ ˆ necessarily hermitian), let Y2l−1 = 2 , Y2l = 2j and √ Z +Z † Z −Z † Zˆ2l−1 = l 2 l , Zˆ2l = l 2j l j = −1, l ∈ {1, · · · , m}. The collection {Yl , Zl }m l=1 is SUS if and only if the new collection of pairs of hermitian matrices {Yˆˆl , Zˆˆl }ˆ2m is SUS. l=1 A. Simultaneous Similarity of Hermitian matrices Let Hl , Dl denote n × n hermitian matrices. The collection {Hl , Dl }m l=1 is Simultaneously Similar (SS) if there exists a invertible P such that P Hl P −1 = Dl . Using the perturbpermute method it can be argued that if there is a P s.t P Hl P −1 =Dl there will exist a Unitary U s.t U Hl U † = Dl , i.e {Hl , Dl }m l=1 is SS if and only if it is SUS. Proposition 1 is true if SUS is replaced by SS, U1 and U2 are replaced by invertible P1 and P2 respectively. With the same notation as in section III-C H1 = D1 = Λ1 , P Hl P −1 = Dl if and only if P =blk-diag (P1 , P2 , · · · , Pr ) l and Pi Bij Pj−1 = Glij where Pi s are pi ×pi invertible matrices. Also Proposition 3 and Proposition 4 hold, with U replaced
37
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Hari Krishna V.J et al.: A “perturb-permute” method to solve the Simultaneous Unitary Similarity problem
by P . All these propositions and the theorems involved can be derived by using the invertibility of P and the hermitian nature of Hl s and Dl s. By Theorem 1 the structure of Hl s that does not allow perturbation remains same, i.e in the Λ1 induced partition, the diagonal blocks are multiples of identity, the off-diagonal blocks if rectangular(non-square) are zero and l the square Bij s are multiples of unitary. The hermitian nature of Hl s and Dl s is used to show that it is necessary for Dl s to have the same form as Hl s. P Hl P −1 = Dl implies Glij = l† −1 l l l Pi Bij Pj−1 and Pj Bji Pi−1 = Glji implying Pi Bij Bij Pi = l† l† l l l Gij Gij . Hence it is necessary that Gij Gij = αij Ipi whenever l† l Bij Bij = αlij Ipi . According to the equivalence relation defined in section III-D, given k ∈ {1, · · · , r}, and the k-partition of l S = {1, · · · , k}, pr(Bij ) as defined in Definition 1 is a normal matrix and it is necessary that pr(Glij ) be normal. Proposition 5 holds with Ud replaced by Pd . With Reduction-form and Solution-form as defined in Definition 2, in accordance with Definition 3, i ∈ [d(i)], Pisol is defined as, Pisol = Qt(i) l(iq−1 ) −1 Qt(i) l(it(i)−q ) Pd(i) q=1 Bit(i)+1−q it(i)−q . Theorem 2 and q=1 (Giq iq−1 ) Theorem 3 hold with U replaced by P . If at all a solution exists, in some iteration, P sol =blk-diag(P1sol, · · · , Prsol ) is a solution. In Pisol the free variable is Pd(i) which if chosen to be unitary renders P sol unitary. If a solution exists a unitary solution exists. In the following lemma the existence of a unitary solution whenever a invertible P exists, is proved without going through the details of the perturb-permute method. Lemma 1: If Hl and Dl l ∈ {1, · · · , m} are hermitian matrices, the collection {Hl , Dl }m l=1 is SS if and only if it is SUS. Proof: Suppose the given collection is SS. Let P be an invertible matrix such that P Hl P −1 = Dl . Dl = P −1† Hl P † −1 ⇒ (P † P ) Hl (P † P )=Hl ⇒ P † P commutes with Hl . P has a unique polar decomposition P = U N , where N is positive definite and U unitary. N is the non-negative square-root of P † P hence it commutes with Hl , thus P Hl P −1 = Dl ⇒ U N Hl N −1 U † = Dl ⇒ U Hl N N −1 U † =Dl ⇒ U Hl U † = Dl . Hence the proof and the Lemma.
B. Simultaneous Similarity of Normal matrices Given a collection of normal matrices Yl , Zl ∈ C n×n , l ∈ {1, · · · , m}. If the collection is SS then it is necessary that Yl , Zl are pair-wise similar and hence their eigenvalues are the same (with same multiplicities). Consider the spectral decomposition of Y1 and Z1 , i.e Y1 = Σki=1 ci Si , Z1 = Σki=1 ci Ti , ci s are the distinct eigenvalues in Y1 (Z1 ). Si s and Ti s are hermitian and polynomials in Y1 and Z1 respectively. For any invertible P , P Y1 P −1 = Z1 if and only if P Si P −1 = Ti (proof is similar to that of Proposition 3). By considering the spectral decompositions of Yl and Zl a collection of hermitian matrices can be found such that {Yl , Zl }m l=1 is SS if and only if the collection of hermitian matrices is SS. Hence from the discussion in the previous section when Yl , Zl are normal the collection {Yl , Zl }m l=1 is SS if and only it is SUS.
A PPENDIX A LGORITHM
TO GET TO S OLUTION - FORM R EDUCTION - FORM
OR
The notation used here is the same as in section III-D3 with the following additions: R(j, k) If, pj = pk , R(j, k) is a unitary “block column permutation” matrix i.e the operation Hl R(j, k) interchanges l l the columns of Hl in Bij and the columns of Hl in Bik . † Thus R (j, k) is a block row permutation unitary matrix. Note that R† (j, k)Λ1 R(j, k) is a diagonal matrix with eigenvalues cj and ck exchanging positions. i → j Indices i, j belong to an equivalence class in the kpartition. i → j denotes the path from i to j. A. Outline of the Algorithm: x1 = 1, η(1) = 1 for for k=2 to r do Scan in matrices Hl , l ∈ {2, · · · , m} in rows < k and ˆ columns ≥ k to find a Bˆilˆj 6= 0 where ˆi < k and ˆj ≥ k. if a non-zero block does not exist then Hl s are block diagonal at k. η(k) = η(k − 1) + 1, xη(k) = k. else Change Hl to R† (k, ˆj)Hl R(k, ˆj) and Dl to R† (k, ˆj)Dl R(k, ˆj) to obtain an equivalent problem. k → xη(k−1) = (ˆi, k)ˆi → xη(k−1) , η(k) = η(k − 1). l Find pr(Bik ), i < k. l if ∃ pr(Bik )6= 0 and not a multiple of identity then note i, k, l break, and exit the for loop (Reductionform) end if end if end for R EFERENCES [1] Shmuel Friedland, Similarity of Families of Matrices, 24-1 to 24-12, Hand book of Linear Algebra, Discrete Mathematics and its Applications Series, 2007, Chapman & Hall/CRC. [2] D.Yu. Grigor’ev, Complexity of “wild” matrix problems and of isomorphism of algebras and graphs, Journal of Mathematical Sciences, pg 12851289, Springer NewYork. [3] V.V Sergeichuk, Unitary and Euclidean representations of a quiver, Linear Algebra Appl. 278(1998), 37-62. [4] Helene Shapiro, A survey of canonical forms and invariants for unitary similarity. Linear Algebra and its Applications, vol 147, March 1991, pg 101-167. [5] Michael A.Nielsen and Isaac L.Chuang, Quantum Computation and Quantum Information, Cambridge University Press, South Asian Edition, pg 390-392.
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Hari Krishna V.J et al.: A “perturb-permute” method to solve the Simultaneous Unitary Similarity problem
38
H1 = 0.3646+0.0000i 0.0098+0.0077i 0.0360-0.0200i 0.0638-0.0056i 0.0194+0.0637i 0.0004+0.0485i -0.0170+0.0100i 0.0303-0.0341i
0.0098-0.0077i 0.3022 0.0636-0.0090i 0.0468+0.0084i -0.0060+0.0207i 0.0103+0.0338i 0.0187+0.0212i 0.0199-0.0350i
0.0360+0.0200i 0.0636+0.0090i 0.2521 0.0017-0.0322i 0.0071-0.0907i 0.0718-0.0290i -0.0222-0.0110i 0.1010+0.0116i
0.0638+0.0056i 0.0468-0.0084i 0.0017+0.0322i 0.3113 -0.0150-0.0017i -0.0098-0.0138i 0.0399-0.0141i 0.0295+0.0177i
0.0194-0.0637i -0.0060-0.0207i 0.0071+0.0907i -0.0150+0.0017i 0.3932+0.0000i -0.0365+0.0247i 0.0163-0.0225i 0.0118-0.0062i
0.0004-0.0485i 0.0103-0.0338i 0.0718+0.0290i -0.0098+0.0138i -0.0365-0.0247i 0.3251 0.0151-0.0619i 0.0114+0.0964i
-0.0170-0.0100i 0.0187-0.0212i -0.0222+0.0110i 0.0399+0.0141i 0.0163+0.0225i 0.0151+0.0619i 0.3641+0.0000i 0.0877-0.0193i
0.0303+0.0341i 0.0199+0.0350i 0.1010-0.0116i 0.0295-0.0177i 0.0118+0.0062i 0.0114-0.0964i 0.0877+0.0193i 0.2875-0.0000i
D1 = 0.2697-0.0000i 0.0196+0.0703i 0.0725-0.0260i 0.0009-0.0193i 0.0594+0.0102i -0.0148-0.0203i -0.0094+0.0607i 0.0066-0.0512i
0.0196-0.0703i 0.3701-0.0000i 0.0360+0.0187i 0.0127-0.0052i -0.0459+0.0478i -0.0158-0.0373i -0.0237-0.0122i 0.0310-0.0121i
0.0725+0.0260i 0.0360-0.0187i 0.3605 -0.0360+0.0811i -0.0057-0.0414i 0.0011-0.0529i 0.0131-0.0274i 0.0273-0.0205i
0.0009+0.0193i 0.0127+0.0052i -0.0360-0.0811i 0.3755-0.0000i -0.0356-0.0151i 0.0332-0.0260i 0.0192-0.0145i 0.0040+0.0155i
0.0594-0.0102i -0.0459-0.0478i -0.0057+0.0414i -0.0356+0.0151i 0.3189+0.0000i -0.0022+0.0662i 0.0523-0.0138i 0.0614+0.0067i
-0.0148+0.0203i -0.0158+0.0373i 0.0011+0.0529i 0.0332+0.0260i -0.0022-0.0662i 0.2327-0.0000i -0.0716-0.0525i -0.0637+0.0644i
-0.0094-0.0607i -0.0237+0.0122i 0.0131+0.0274i 0.0192+0.0145i 0.0523+0.0138i -0.0716+0.0525i 0.3366+0.0000i -0.0211+0.0191i
0.0066+0.0512i 0.0310+0.0121i 0.0273+0.0205i 0.0040-0.0155i 0.0614-0.0067i -0.0637-0.0644i -0.0211-0.0191i 0.3359+0.0000i
H2 = -0.2356-0.0000i -0.1141-0.2278i -0.4409+0.1315i -0.0058-0.0403i 0.0279+0.1318i -0.0998-0.1223i 0.1942+0.3178i 0.0298-0.4849i
-0.1141+0.2278i 0.4655 0.0736+0.0357i 0.1528+0.1366i 0.2890+0.1079i -0.1710-0.0938i -0.9234+0.2086i -0.1582-0.1880i
-0.4409-0.1315i 0.0736-0.0357i 0.6344+0.0000i -0.0095-0.3412i 0.5760+0.1013i 0.5103+0.2472i -0.3564-0.1416i -0.1070+0.0215i
-0.0058+0.0403i 0.1528-0.1366i -0.0095+0.3412i 1.2974-0.0000i -0.4798-0.4705i 0.1308+0.3727i -0.1947+0.0374i -0.0568-0.2760i
0.0279-0.1318i 0.2890-0.1079i 0.5760-0.1013i -0.4798+0.4705i 0.0215 -0.0972-0.2687i -0.1276+0.1853i 0.0148-0.1977i
-0.0998+0.1223i -0.1710+0.0938i 0.5103-0.2472i 0.1308-0.3727i -0.0972+0.2687i -0.0180-0.0000i 0.1217+0.1997i 0.3153-0.2102i
0.1942-0.3178i -0.9234-0.2086i -0.3564+0.1416i -0.1947-0.0374i -0.1276-0.1853i 0.1217-0.1997i 0.4935 0.0978-0.4373i
0.0298+0.4849i -0.1582+0.1880i -0.1070-0.0215i -0.0568+0.2760i 0.0148+0.1977i 0.3153+0.2102i 0.0978+0.4373i 0.3414+0.0000i
D2 = 0.1621+0.0000i 0.1636-0.1750i 0.3171+0.6677i -0.2981-0.0304i -0.1150+0.2781i 0.2874-0.1128i -0.1792-0.0599i 0.0335+0.1157i
0.1636+0.1750i -0.0072+0.0000i -0.1440-0.0003i 0.1261-0.2286i -0.3928+0.4009i 0.4394+0.5152i -0.1802-0.2833i -0.0302-0.3169i
0.3171-0.6677i -0.1440+0.0003i 0.5756-0.0000i 0.0349+0.0475i -0.2891+0.3513i 0.0654+0.0825i -0.0713-0.2115i -0.3187+0.2108i
-0.2981+0.0304i 0.1261+0.2286i 0.0349-0.0475i -0.0135-0.0000i -0.0462-0.4022i 0.1019+0.2605i -0.1597+0.4817i 0.0516-0.3308i
-0.1150-0.2781i -0.3928-0.4009i -0.2891-0.3513i -0.0462+0.4022i 0.4249+0.0000i -0.2533-0.1981i -0.5348-0.0579i -0.1901-0.0203i
0.2874+0.1128i 0.4394-0.5152i 0.0654-0.0825i 0.1019-0.2605i -0.2533+0.1981i 0.2446+0.0000i -0.6538+0.6242i -0.2608+0.0609i
-0.1792+0.0599i -0.1802+0.2833i -0.0713+0.2115i -0.1597-0.4817i -0.5348+0.0579i -0.6538-0.6242i 0.7006-0.0000i -0.3274+0.0898i
0.0335-0.1157i -0.0302+0.3169i -0.3187-0.2108i 0.0516+0.3308i -0.1901+0.0203i -0.2608-0.0609i -0.3274-0.0898i 0.9128-0.0000i
Input H21 = 0.1000-0.0000i 0 0 0 0.1787-0.0264i -0.0856-0.0050i 0.4555-0.0241i -0.8789-0.1396i
0 0.1000-0.0000i 0 0 -0.0857+0.0037i -0.1783-0.0292i 0.1387-0.8790i 0.1636-0.4258i
0 0 0.2000+0.0000i 0 -0.9066+0.0798i 0.3630+0.1996i -0.1968+0.0740i 0.2050+0.0615i
0 0 0 0.2000+0.0000i -0.3728+0.1806i -0.9013-0.1264i -0.0171-0.2133i 0.1136-0.1769i
0.1787+0.0264i -0.0857-0.0037i -0.9066-0.0798i -0.3728-0.1806i 1.0000+0.0000i 0 0.0669+0.0826i -0.1690-0.0123i
-0.0856+0.0050i -0.1783+0.0292i 0.3630-0.1996i -0.9013+0.1264i 0 1.0000+0.0000i -0.0379+0.1651i 0.0592+0.0882i
0.4555+0.0241i 0.1387+0.8790i -0.1968-0.0740i -0.0171+0.2133i 0.0669-0.0826i -0.0379-0.1651i 0.2000+0.0000i 0
D21 = 0.1000-0.0000i 0 0 0 0.0139-0.0340i -0.0397-0.1926i 0.9408-0.1012i 0.2829+0.1569i
0 0.1000-0.0000i 0 0 0.1964-0.0082i -0.0296+0.0217i 0.1142+0.3027i 0.2366-0.9162i
0 0 0.2000+0.0000i 0 -0.8259-0.0413i 0.4177-0.3766i 0.0069-0.0883i -0.0755+0.2765i
0 0 0 0.2000-0.0000i 0.5128-0.2307i 0.2947-0.7726i 0.2640+0.1117i 0.0736+0.0491i
0.0139+0.0340i 0.1964+0.0082i -0.8259+0.0413i 0.5128+0.2307i 1.0000+0.0000i 0 0.0364+0.0910i 0.0526-0.1662i
-0.0397+0.1926i -0.0296-0.0217i 0.4177+0.3766i 0.2947+0.7726i 0 1.0000+0.0000i -0.0147+0.1737i -0.0683+0.0703i
0.9408+0.1012i 0.1142-0.3027i 0.0069+0.0883i 0.2640-0.1117i 0.0364-0.0910i -0.0147-0.1737i 0.2000+0.0000i 0
H22 = 0.1000-0.0000i 0 0.4555-0.0241i -0.8789-0.1396i 0.1787-0.0264i -0.0856-0.0050i 0 0
0 0.1000-0.0000i 0.1387-0.8790i 0.1636-0.4258i -0.0857+0.0037i -0.1783-0.0292i 0 0
0.4555+0.0241i 0.1387+0.8790i 0.2000+0.0000i 0 0.0669-0.0826i -0.0379-0.1651i -0.1968-0.0740i -0.0171+0.2133i
-0.8789+0.1396i 0.1636+0.4258i 0 0.2000-0.0000i -0.1690+0.0123i 0.0592-0.0882i 0.2050-0.0615i 0.1136+0.1769i
0.1787+0.0264i -0.0857-0.0037i 0.0669+0.0826i -0.1690-0.0123i 1.0000+0.0000i 0 -0.9066-0.0798i -0.3728-0.1806i
-0.0856+0.0050i -0.1783+0.0292i -0.0379+0.1651i 0.0592+0.0882i 0 -0.9066+0.0798i 1.0000+0.0000i 0.3630-0.1996i -0.9013+0.1264i
0 0 -0.1968+0.0740i 0.2050+0.0615i -0.3728+0.1806i 0.3630+0.1996i 0.2000+0.0000i 0
-0.8789+0.1396i 0.1636+0.4258i 0.2050-0.0615i 0.1136+0.1769i -0.1690+0.0123i 0.0592-0.0882i 0 0.2000-0.0000i 0.2829-0.1569i 0.2366+0.9162i -0.0755-0.2765i 0.0736-0.0491i 0.0526+0.1662i -0.0683-0.0703i 0 0.2000+0.0000i 0 0 -0.0171-0.2133i 0.1136-0.1769i -0.9013-0.1264i 0 0.2000+0.0000i
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Hari Krishna V.J et al.: A “perturb-permute” method to solve the Simultaneous Unitary Similarity problem
39
D22 = 0.1000-0.0000i 0 0.9408-0.1012i 0.2829+0.1569i 0.0139-0.0340i -0.0397-0.1926i 0 0
0 0.1000-0.0000i 0.1142+0.3027i 0.2366-0.9162i 0.1964-0.0082i -0.0296+0.0217i 0 0
0.9408+0.1012i 0.1142-0.3027i 0.2000+0.0000i 0 0.0364-0.0910i -0.0147-0.1737i 0.0069+0.0883i 0.2640-0.1117i
0.2829-0.1569i 0.2366+0.9162i 0 0.2000+0.0000i 0.0526+0.1662i -0.0683-0.0703i -0.0755-0.2765i 0.0736-0.0491i
0.0139+0.0340i 0.1964+0.0082i 0.0364+0.0910i 0.0526-0.1662i 1.0000+0.0000i 0 -0.8259+0.0413i 0.5128+0.2307i
-0.0397+0.1926i -0.0296-0.0217i -0.0147+0.1737i -0.0683+0.0703i 0 1.0000+0.0000i 0.4177+0.3766i 0.2947+0.7726i
0 0 0.0069-0.0883i -0.0755+0.2765i -0.8259-0.0413i 0.4177-0.3766i 0.2000+0.0000i 0
0 0 0.2640+0.1117i 0.0736+0.0491i 0.5128-0.2307i 0.2947-0.7726i 0 0.2000+0.0000i
Iteration 1
H23 = 0.1000-0.0000i 0 0.9044+0.1955i -0.3733+0.0669i 0.1389-0.0775i -0.0182-0.1199i 0 0
0 0.1000-0.0000i 0.1789-0.3344i 0.0934-0.9206i -0.0201+0.1196i -0.1377-0.0796i 0 0
0.9044-0.1955i 0.1789+0.3344i 0.2000+0.0000i 0 0.0669-0.0826i -0.0379-0.1651i -0.1968-0.0740i -0.0171+0.2133i
D23 = 0.1000-0.0000i 0 0.7710-0.2764i -0.1743+0.5467i -0.0971-0.0804i -0.0090-0.1550i 0 0
0 0.1000-0.0000i 0.5662-0.0931i 0.3853-0.7227i 0.1525-0.0289i -0.1016-0.0747i 0 0
0.7710+0.2764i 0.5662+0.0931i 0.2000+0.0000i 0 0.0364-0.0910i -0.0147-0.1737i 0.0069+0.0883i 0.2640-0.1117i
-0.3733-0.0669i 0.0934+0.9206i 0 0.2000-0.0000i -0.1690+0.0123i 0.0592-0.0882i 0.2050-0.0615i 0.1136+0.1769i
-0.1743-0.5467i 0.3853+0.7227i 0 0.2000+0.0000i 0.0526+0.1662i -0.0683-0.0703i -0.0755-0.2765i 0.0736-0.0491i
0.1389+0.0775i -0.0201-0.1196i 0.0669+0.0826i -0.1690-0.0123i 1.0000+0.0000i 0 -0.9066-0.0798i -0.3728-0.1806i
-0.0971+0.0804i 0.1525+0.0289i 0.0364+0.0910i 0.0526-0.1662i 1.0000+0.0000i 0 -0.8259+0.0413i 0.5128+0.2307i
-0.0182+0.1199i -0.1377+0.0796i -0.0379+0.1651i 0.0592+0.0882i 0 1.0000+0.0000i 0.3630-0.1996i -0.9013+0.1264i
0 0 -0.1968+0.0740i 0.2050+0.0615i -0.9066+0.0798i 0.3630+0.1996i 0.2000+0.0000i 0
0 0 -0.0171-0.2133i 0.1136-0.1769i -0.3728+0.1806i -0.9013-0.1264i 0 0.2000+0.0000i
-0.0090+0.1550i -0.1016+0.0747i -0.0147+0.1737i -0.0683+0.0703i 0 1.0000+0.0000i 0.4177+0.3766i 0.2947+0.7726i
0 0 0.0069-0.0883i -0.0755+0.2765i -0.8259-0.0413i 0.4177-0.3766i 0.2000+0.0000i 0
0 0 0.2640+0.1117i 0.0736+0.0491i 0.5128-0.2307i 0.2947-0.7726i 0 0.2000-0.0000i
-0.0182+0.1199i -0.1377+0.0796i 0.0431-0.1133i -0.0053-0.1590i 0 1.0000+0.0000i 0.3630-0.1996i -0.9013+0.1264i
0 0 0.2451-0.0173i -0.0792-0.1528i -0.9066+0.0798i 0.3630+0.1996i 0.2000+0.0000i 0
0 0 0.0812+0.1518i -0.1530+0.1922i -0.3728+0.1806i -0.9013-0.1264i 0 0.2000+0.0000i
Iteration 2
H24 = 0.1000-0.0000i 0 -0.9774-0.2113i 0 0.1389-0.0775i -0.0182-0.1199i 0 0
0 0.1000-0.0000i 0 -0.4718+0.8817i -0.0201+0.1196i -0.1377-0.0796i 0 0
-0.9774+0.2113i 0 0.2000+0.0000i 0 -0.1194+0.1051i 0.0431+0.1133i 0.2451+0.0173i 0.0812-0.1518i
0 -0.4718-0.8817i 0 0.2000-0.0000i 0.1149-0.0387i -0.0053+0.1590i -0.0792+0.1528i -0.1530-0.1922i
0.1389+0.0775i -0.0201-0.1196i -0.1194-0.1051i 0.1149+0.0387i 1.0000+0.0000i 0 -0.9066-0.0798i -0.3728-0.1806i
D24 = 0.1000-0.0000i 0 -0.9413+0.3375i 0 -0.0971-0.0804i -0.0090-0.1550i 0 0
0 0.1000-0.0000i 0 -0.9867+0.1623i 0.1525-0.0289i -0.1016-0.0747i 0 0
-0.9413-0.3375i 0 0.2000+0.0000i 0 0.0643+0.1085i -0.0438+0.1489i -0.1580-0.1343i -0.2129+0.0408i
0 -0.9867-0.1623i 0 0.2000+0.0000i -0.1552+0.0037i 0.0881+0.0902i 0.2135+0.0378i -0.1561+0.1364i
-0.0971+0.0804i 0.1525+0.0289i 0.0643-0.1085i -0.1552-0.0037i 1.0000+0.0000i 0 -0.8259+0.0413i 0.5128+0.2307i
-0.0090+0.1550i -0.1016+0.0747i -0.0438-0.1489i 0.0881-0.0902i 0 1.0000+0.0000i 0.4177+0.3766i 0.2947+0.7726i
0 0 -0.1580+0.1343i 0.2135-0.0378i -0.8259-0.0413i 0.4177-0.3766i 0.2000+0.0000i 0
0 0 -0.2129-0.0408i -0.1561-0.1364i 0.5128-0.2307i 0.2947-0.7726i 0 0.2000-0.0000i
0 -0.0332-0.1972i 0 0.1895+0.0638i 0 1.0000+0.0000i 0 -0.8751+0.4839i
0 0 -0.2993+0.0211i 0 -0.9246+0.3809i 0 0.2000+0.0000i 0
0 0 0 -0.1380-0.2664i 0 -0.8751-0.4839i 0 0.2000+0.0000i
Iteration 3
H26 = 0.1000-0.0000i 0 -0.9740.2113i 0 -0.1747+0.0974i 0 0 0
0 0.1000-0.0000i 0 -0.4718+0.8817i 0 -0.0332+0.1972i 0 0
-0.9774+0.2113i 0 0.2000+0.0000i 0 0.1501-0.1321i 0 -0.2993-0.0211i 0
0 -0.4718-0.8817i 0 0.2000-0.0000i 0 0.1895-0.0638i 0 -0.1380+0.2664i
-0.1747-0.0974i 0 0.1501+0.1321i 0 1.0000+0.0000i 0 -0.9246-0.3809i 0
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Hari Krishna V.J et al.: A “perturb-permute” method to solve the Simultaneous Unitary Similarity problem
40
D26 = 0.1000-0.0000i 0 -0.9413+0.3375i 0 0.1540+0.1276i 0 0 0 H27 = 0.1000-0.0000i -0.9774-0.2113i -0.1747+0.0974i 0 0 0 0 0 D27 = 0.1000-0.0000i -0.9413+0.3375i 0.1540+0.1276i 0 0 0 0 0
0 0.1000-0.0000i 0 -0.9867+0.1623i 0 0.1965-0.0372i 0 0
-0.9413-0.3375i 0 0.2000+0.0000i 0 -0.1019-0.1721i 0 0.2286+0.1943i 0
0 -0.9867-0.1623i 0 0.2000+0.0000i 0 -0.1999+0.0048i 0 0.2954+0.0523i
0.1540-0.1276i 0 -0.1019+0.1721i 0 1.0000 0 -0.7431+0.6692i 0
0 0.1965+0.0372i 0 -0.1999-0.0048i 0 1.0000+0.0000i 0 -0.8950-0.4462i
0 0 0.2286-0.1943i 0 -0.7431-0.6692i 0 0.2000-0.0000i 0
0 0 0 0.2954-0.0523i 0 -0.8950+0.4462i 0 0.2000-0.0000i
-0.9774+0.2113i 0.2000+0.0000i 0.1501-0.1321i -0.2993-0.0211i 0 0 0 0
-0.1747-0.0974i 0.1501+0.1321i 1.0000+0.0000i -0.9246-0.3809i 0 0 0 0
0 -0.2993+0.0211i -0.9246+0.3809i 0.2000+0.0000i 0 0 0 0
0 0 0 0 0.1000-0.0000i -0.0332+0.1972i -0.4718+0.8817i 0
0 0 0 0 -0.0332-0.1972i 1.0000+0.0000i 0.1895+0.0638i -0.8751+0.4839i
0 0 0 0 -0.4718-0.8817i 0.1895-0.0638i 0.2000-0.0000i -0.1380+0.2664i
0 0 0 0 0 -0.8751-0.4839i -0.1380-0.2664i 0.2000+0.0000i
-0.9413-0.3375i 0.2000+0.0000i -0.1019-0.1721i 0.2286+0.1943i 0 0 0 0
0.1540-0.1276i -0.1019+0.1721i 1.0000 -0.7431+0.6692i 0 0 0 0
0 0.2286-0.1943i -0.7431-0.6692i 0.2000-0.0000i 0 0 0 0
0 0 0 0 0.1000-0.0000i 0.1965-0.0372i -0.9867+0.1623i 0
0 0 0 0 0.1965+0.0372i 1.0000+0.0000i -0.1999-0.0048i -0.8950-0.4462i
0 0 0 0 -0.9867-0.1623i -0.1999+0.0048i 0.2000+0.0000i 0.2954+0.0523i
0 0 0 0 0 -0.8950+0.4462i 0.2954-0.0523i 0.2000-0.0000i
Iteration 5 U= 0.4230+0.3942i -0.3445+0.1417i 0.2515+0.1950i -0.0152+0.2627i 0.0920+0.3538i -0.0207+0.3509i 0.1903+0.1839i 0.1638+0.0481i
0.0251-0.2952i 0.0176-0.2261i -0.1351+0.3743i -0.0332+0.1489i 0.0491-0.4308i 0.1563+0.0336i 0.3902+0.4822i 0.1929+0.2089i
-0.5544-0.2382i -0.3869+0.2879i -0.0535+0.0189i 0.0954+0.0597i 0.3431+0.0996i -0.1521+0.2050i 0.0445+0.2526i -0.1986-0.2991i
0.0514-0.0507i -0.3066-0.1697i 0.3843-0.0978i -0.3495-0.2977i 0.3771-0.0475i -0.1410-0.3002i 0.1902-0.0685i -0.2726+0.3665i
0.2330+0.1679i 0.0508-0.0986i 0.3032-0.1065i -0.0926-0.0664i -0.0585-0.4893i -0.3250+0.0319i -0.0630+0.2499i -0.1048-0.6018i
Solution
0.0680+0.1186i 0.0115-0.4195i -0.2416-0.0637i 0.5125+0.1679i 0.3096-0.0849i -0.4173+0.1282i 0.2227-0.3113i -0.0926+0.0559i
-0.1591-0.2347i 0.4634-0.1569i 0.3073+0.2302i -0.3391+0.0016i 0.1187+0.1276i -0.1471+0.5538i 0.0004-0.2409i 0.0318-0.0082i
0.1092+0.1226i -0.1414-0.0820i -0.5093+0.0856i -0.5148-0.0149i 0.1732+0.0007i 0.2238-0.0110i 0.2581-0.3178i -0.0173-0.4078i
Regular Paper Original Contribution 41
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Xing Chena et al.: An Effective and Low-Cost Dynamic Task Scheduling Algorithm on Cluster Systems
An Effective and Low-Cost Dynamic Task Scheduling Algorithm on Cluster Systems Xing Chena, Kama Huanga and Xiao-Bang Xub
Abstract— Many task scheduling algorithms require information of the execution time for each task on each processor prior to the execution, which is often difficult to be obtained in advance. This paper presents a dynamic task scheduling algorithm that employs relative workload of tasks. Without executing a computationally complex scheduling function, it uses simple heuristics to maximize the utilization of processors and minimize the bad consequences of unavoidable load imbalances. The cluster system adopts a master-slave model. The master processor performs the scheduling by maintaining a task queue and a slave processor list. The proposed algorithm can be implemented in both types of cluster systems: the system consisting of homogeneous processors and the one formed by heterogeneous processors. Numerical experiments are conducted and their results have verified the effectiveness of the proposed algorithm.. Index Terms— Dynamic task scheduling, Relative workload, Heuristics, Cluster system
I. INTRODUCTION The development of advanced microprocessor technology and high-speed network equipments has made cluster systems popular due to their low cost, high performance and flexibility. Usually, a cluster system is composed of tens or hundreds of nodes, and uses fast Ethernet to connect its nodes to form a network at low cost. It is supported by libraries such as Message Passing Interface (MPI) [1], [2] and Parallel Virtual Machine (PVM) as parallel programming framework. An example of cluster systems is the Beowulf system [3], which uses inexpensive commodity hardware and has found more and more applications in both industry and academia. One critical issue for achieving high performance in cluster systems is task scheduling. A good task scheduling of parallel computation programs can effectively utilize the system resources and reduce the parallel execution time. The task scheduling problem has been proven to be NP-complete for general cases and even for many restricted cases [4 - 10]. It is difficult or even infeasible to achieve an optimal schedule, especially when the number of parallel tasks to be scheduled Xing Chena and Kama Huanga are with Department of Radio and Electronics, Sichuan University, Chengdu 610064, P.R. China. Xiao-Bang Xub is with Holcombe Department of Electrical & Computer Engineering, Clemson University, Clemson, SC 29634-0915, USA (Corresponding author. phone: 864-656-5923, fax: 864-656-7220, e-mail:
[email protected]).
or the number of processors available is large. Task scheduling has been extensively studied and various algorithms have been proposed in the literature [4-18]. The scheduling algorithms can be divided into several categories, such as static [4], [5], [11] versus dynamic [12 - 16] scheduling, and centralized [15 - 18] versus distributed [13] scheduling. In static scheduling, the tasks are scheduled before the parallel computation is started. In contrast, for dynamic task scheduling, which is the focus of this paper, the tasks are scheduled during its runtime. It is usually harder to implement, but it tends to have better performance comparing with the static one. Dynamic scheduling can be either distributed or centralized. In a centralized task scheduling algorithm, a processor is dedicated to making all the scheduling decisions. In a distributed scheduling algorithm, the task scheduling decisions can be made on any processor. Most current scheduling algorithms employ techniques that are specific to a certain class of problems and only work for a narrow range of tasks and system parameters. Many algorithms are for systems with homogeneous processors [6 8], [13], and [15]. Relatively fewer algorithms [4], [5], [14], [18] can be effectively used in systems with heterogeneous processors. In [9], [10] and [17], the Genetic Algorithm (GA) [19], [20], which is an optimization algorithm, is employed for task scheduling. Though they can provide good quality of scheduling, their significantly high execution time renders them ineffective for dynamic scheduling. Many task scheduling algorithms, such as those presented in [5], [6], [8], the static algorithms introduced in [4], the dynamic algorithms described in [14], and those based on the GA [9], [10], [17] require an accurate estimate of the execution time for each task on each processor prior to the execution, in order to fairly assign tasks to processors or to determine whether a load imbalance exists. But in general, it is difficult to accurately estimate the execution time of tasks in advance because of the following: 1) the relationship between the execution time and the factors that directly or indirectly contribute to the execution time is complicated and is usually nonlinear; 2) the execution time for a task can be easily skewed by some system-dependent factors such as the cache size and the virtual memory paging; 3) it is impossible to directly time tasks in many cases because the occurrences of tasks and their characteristics only become known during the problem solving procedure. In this paper, we propose a dynamic task scheduling
42
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Xing Chena et al.: An Effective and Low-Cost Dynamic Task Scheduling Algorithm on Cluster Systems
algorithm, which can be implemented in cluster systems with homogeneous or heterogeneous processors. Without executing a computationally complex scheduling function, the proposed algorithm uses some simple heuristics to maximize the utilization of slave processors and to minimize the bad consequences caused by unavoidable load imbalances and subsequently to reduce the total execution time. Instead of requiring the execution time for each task on each processor, the proposed algorithm only needs information of the tasks’ relative workload in conjunction with the processors’ speed for task scheduling. Therefore, it is suitable in the cases for which the execution time of tasks is not known in advance. To study the effectiveness of the proposed task scheduling algorithm, we conducted several numerical experiments and compared its performance with a uniform distribution algorithm, which assigns the same number of parallel tasks to the processors. II. THE MASTER-SLAVE MODEL In this paper, a master-slave model, illustrated in Fig. 1, is adopted for centralized scheduling. All tasks are independent and arrive at a central processor, which is called “master processor”. The master processor is dedicated for scheduling and assigning tasks to the other processors called “slave processors”. The slave processors carry out the tasks that are assigned to them and send the results back to the master processor. The communication cost between the master processor and the slave processors is negligible when heavy tasks are run in a cluster system in which high-performance network techniques are employed. Hence, it is not considered in this paper. III. PROPOSED DYNAMIC TASK SCHEDULING ALGORITHM AND ITS IMPLEMENTATION
In this section, we first identify a few important factors, which may affect the effectiveness of the task scheduling, and then draw a few heuristics rules related to these important factors. Finally, based on the heuristics rules, a dynamic task scheduling algorithm is presented. A. Performance Factors In this subsection, some important factors that may affect the execution time of a set of parallel tasks are identified. One key issue is to ensure that all the processors terminate their execution simultaneously. Otherwise, the total execution time would be longer, and it would depend on when the last processor can finish executing its assigned tasks. Since the tasks typically have different workload and the speed of the processors may be different, it is not appropriate to assign the same number of parallel tasks to all the processors. For dynamic task scheduling, the scheduling operation is performed during its runtime, and its required time will be added directly to the execution time of each task. Hence, the overhead associated with the task scheduling can directly affect the performance of the system. Apparently, high scheduling overheads may cancel the advantages of using task
scheduling. Besides its direct effect on the total execution time, the complexity of task scheduling makes it difficult to implement a task scheduling algorithm to programming. Therefore, to achieve high performance of a cluster system, an efficient scheduling algorithm should address the important issues, such as load balancing, complexity of the algorithm, and the scheduling overhead. Relative workload of tasks Workload of tasks, which is normally measured in the execution time of tasks on processors, is very important information needed by a task scheduling algorithm, in order to fairly assign tasks to the processors. It is generally determined by the factors that directly or indirectly contribute to the execution time. Unfortunately, except for a few very simple cases, it is impracticable to predict the accurate execution time of each task on each processor due to the complicated and usually nonlinear relationship between the execution time and those factors. But in many cases, it is feasible to compare the workload of tasks, i.e. to speculate the relative workload of the tasks, according to one or a few key factors. For example, in the application of numerical solution techniques, such as the Method of Moment (MoM), the Finite Element Method (FEM), and the Finite Difference Time Domain (FDTD) method, many factors may influence the execution time, making it impracticable to evaluate the accurate workload prior to the execution. But among these factors, some are the same for all the tasks, such as the quality of the computer codes and the compiler, so that they don’t contribute to the relative workload of tasks, and some are minor in comparison with the key factors that heavily influence the workload of tasks. Therefore, it is not difficult to speculate the relative workload of tasks by focusing on one or a few key factors. For this kind of tasks, the execution time difference between the tasks mainly depends on the number of grid cells employed in the numerical solution technique, which is the key factor and can be used for determining the relative workload of the tasks. Another example is the solution of a system of linear equations. In general, solving a system of linear equations of larger dimension would cost more CPU time. Hence, the relative workload of this kind of tasks can be speculated based on the dimension of the linear equation systems. In the proposed task scheduling algorithm, the relative workload rather than the execution time of tasks on each processor will be used by the master processor to create and maintain a task queue for the slave processors. Heuristics Most task scheduling algorithms proposed in the past focused on how to be “fair” in distributing the tasks across the processors. In fact, the ultimate goal of a task scheduling algorithm is to minimize the total execution time of a parallel computation. Therefore, we propose a task scheduling algorithm to directly reach this goal. A task scheduling algorithm should be able to maximize the utilization of slave processors, that is, once a slave processor finishes executing its pre-assigned task, the master processor
43
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Xing Chena et al.: An Effective and Low-Cost Dynamic Task Scheduling Algorithm on Cluster Systems
allocates immediately a new task to it if there is any unassigned task. For a system containing heterogeneous processors, the speed of slave processors may be different. To reduce the total execution time, the task scheduling algorithm should let faster processors receive higher priority for getting and executing tasks. Due to the difficulty or even infeasibility of achieving an optimal schedule, load imbalance is often unavoidable, and it will bring forth a period at the final stage of a parallel computation when some processors are still executing tasks while the others are already idle. Apparently, the existence of such a period will lower the efficiency of processor utilization. Therefore, a good task scheduling algorithm should be able to reduce the length of this period. One notes that this period would be short if only small tasks with low relative workload are left for execution at the final stage of a parallel computation, because the remaining small tasks can be terminated within a short time. Therefore, it is a useful tactic for a task scheduling algorithm to assign bigger tasks first and leave the smallest tasks to be executed at the final stage of a parallel computation. Based on the discussion above, three heuristics rules are summarized as the follows. 1) Once a slave processor finishes its pre-assigned tasks, the master processor must be able to receive the results and allocates a new task to the slave processor immediately. 2) Faster slave processors should have higher priority to get and execute tasks. 3) Tasks should be assigned and executed in the order of their relative workload, from the biggest to the smallest. The Proposed Algorithm and Its Implementation Based on the heuristics rules listed above, an algorithm is proposed and its pseudo-code is outlined below. (1) Create a slave processor list on the master processor. Number each slave processor on the list. For heterogeneous slave processors, sort them in nonincreasing order of their speed. (2) Set the initial status of the slave processors on the list to be 'Idle'. (3) Create a task queue on the master processor. Sort all tasks in nonincreasing order of their relative workload. (4) While there are unassigned tasks in the task queue or there are results of tasks that have not been received do (5) Insert newly arriving tasks into the task queue using “Insert Sort”. (6) While there are unassigned tasks in the task queue and there are 'Idle' slave processors do (7) Take out a task from the head of the task queue, and then delete it from the queue. (8) Search from the head of the slave processor list, and select the first 'idle' slave processor. (9) Transfer the selected task to the selected slave processor. (10) Change the status of the slave processor to be 'Busy' (11) Endwhile (12) While there are results waiting to be received do (13) Receive a result.
(14) Set the status of the slave processes who sent the result to be 'Idle'. (15) Endwhile (16) Endwhile In the algorithm, the master processor operates the task scheduling by creating and maintaining a slave processor list and a task queue. The slave processor list records the status of every slave processor, labeled by “Busy” or “Idle”. It keeps the master processor informed about the current status of each slave processor. At the beginning of a parallel computation, the initial status of the slave processors is set to be “Idle”. And the master processor creates a task queue, sorts all the tasks and stores them in the queue. After then, when new tasks arrive, the master processor inserts the newly arrived tasks into the task queue by using “Insert sort”. Once a task is assigned to a slave processor, it will be removed from the queue, and the status of the slave processor is changed to “Busy”. Examples of the slave processor list and the task queue are shown in Fig. 2. As shown in Fig. 2, the slave processors are sorted in the list in nonincreasing order of their speed, for a heterogeneous system. The unassigned tasks are arranged in the queue in nonincreasing order of their relative workload. Such an arrangement of the slave processor list and the task queue ensures that bigger tasks would be assigned first and the faster slave processors have higher priority to get and execute tasks. The scheduling operation consists of two stages, taskassigning stage and result-collecting stage. At the taskassigning stage, the master processor searches the slave processor list from the head and gets the first “Idle” slave processor, takes out a task from the head of the task queue and deletes it from the queue, assigns the task to the slave processor and then changes the status of the slave processor from “Idle” to “Busy”. The master processor repeats the operation until all tasks are assigned or all slave processors are “Busy”. Once the slave processors are assigned tasks, they execute the tasks and then send the results to the master processor after the execution. At the result-collecting stage, the master processor receives results from the slave processors one by one until all the results have been received. Once the master processor receives a result from a slave processor, it changes the status of the slave processor from “Busy” to “Idle” so that the slave processor can be assigned a new task at the next assigning-task stage. During the whole parallel computation, the master processor repeats the two stages until the whole parallel computation is completed. In this way, all the slave processors are fully utilized. Moreover, the master processor performing the scheduling operation is interlaced with the slave processors executing their tasks. Though the proposed algorithm doesn’t directly evaluate the load status of individual processors, it efficiently utilizes the slave processors and ensures each slave processor has tasks with approximately equal total computation time in a parallel computation. In this way, it automatically balances out the load in each slave processor, to achieve the goal of task
44
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Xing Chena et al.: An Effective and Low-Cost Dynamic Task Scheduling Algorithm on Cluster Systems
scheduling - minimizing the total parallel computation time. The overhead of the proposed algorithm is negligible because there is not any complex and time-consuming scheduling calculation involved in the scheduling procedure. The operations of sorting, maintaining the task queue and the slave processor list only cost little time if the number of tasks and processors is not extremely huge. Moreover, these additional delays may be compensated by the improved load balancing. Therefore, the proposed algorithm is a low-cost scheduling algorithm. In addition, the scheduling operation is very simple; it is easy to be implemented in program, making use of MPI or other parallel programming library. IV. EXPERIMENTAL RESULTS AND DISCUSSIONS To examine the effectiveness of the proposed task scheduling algorithm, numerical experiments have been conducted by implementing the proposed algorithm in automated antenna designs [21]. The experimental results in a homogeneous system and that in a “simulated” heterogeneous system are presented, and the performance of the proposed task scheduling algorithm is compared with a uniform distribution algorithm, which assigns the same number of parallel tasks to the processors. A. Experiment of antenna design The numerical experiments are implementation of the proposed task scheduling algorithm in automated design of a three-dimension fishbone antenna, which is a wire antenna and its configuration is shown in Fig. 3. The automated design makes use of GA to optimize the structure of the antenna, and Numerical Electromangetic Codes (NEC) [22 - 23], which is well-known electromagnetic simulation software based on MoM, to carry out the antenna simulations. In the experiments, the GA is parallelized in a master-slave model and the computation is carried out on a Beowulf cluster named “Yuan Mo II”, consisting of 16 homogenous AMD 1700+ processors. Each of the processors is assigned an index. The master processor is numbered 0 and the slave processors are numbered from 1 to N. The parallel tasks are the antenna simulations carried out by NEC. The execution time of the NEC simulation, which varies from tens of seconds to a few minutes in the experiments, mainly depends on the number of the wire segments that are used to create a NEC model., This number is proportional to the total length of the metal wires that construct the antenna after setting a fixed ratio of the segment number to the wavelength. Hence we use the total length of the metal wire for evaluating the relative workload of tasks in the experiments. In each GA generation, the number of tasks is equal to a preset number of the GA’s individuals, which is taken to be 48 for this experiment. Hence, in each GA generation there are 48 parallel tasks that need to be assigned to the slave processors. The task scheduling algorithm proposed in this paper is adopted to distribute the tasks into the slave processors. For comparison with the proposed algorithm, a uniform
distribution algorithm, which assigns the same number of tasks to the processors, is also used for the task scheduling under the same condition. The code for the numerical experiment is written in Fortran 90 Language (Compaq Visual Fortran), with the aid of MPI communication library. B. Results of the experiment in a homogeneous system In parallel computations, speedup is used to describe the speed increase resulting from using a multiprocessor system in contrast to a single processor. For a homogenous system consisting of N processors, the speedup is a function of N and it is defined by
Speedup ( N ) =
T (1) , T (N )
(1)
where T(N) is the parallel execution time using N processors, and T(1) is the execution time on a single processor. Related to speedup, the parallel efficiency is defined as
Efficiency ( N ) =
Speedup ( N ) . N
(2)
In this experiment, the GA ran 10 generations in the Beowulf cluster “Yuan Mo II”, and the execution time of the parallel computation was recorded. Fig. 4 shows the recorded execution time, the calculated speedup and efficiency versus the number of processors N, using the proposed algorithm compared with those using the uniform distribution algorithm. From the comparison, one observes that the proposed algorithm consumes less execution time than the uniform distribution algorithm in all the cases investigated. In most cases, the proposed algorithm can achieve much higher speedup and parallel efficiency. And the parallel efficiency of the proposed algorithm is as high as more than 90%, except for a few cases when N is 9, 11, 14 and 15. C. Results of the experiment in a “simulated” heterogeneous cluster system To further examine the efficiency of the proposed algorithm, it is desirable to implement it in a heterogeneous cluster system. For lack of a heterogeneous cluster system, we have to simulate such a system for the numerical experiments. The simulation is realized in the homogeneous system “Yuan Mo II”, in which the task execution times of the processors are purposely prolonged to different extent, making the speeds of the processors appear to be different, which simulate the characteristic of a heterogeneous cluster system. As the first step of the simulation, a set of speed factor SP(i) are randomly created, where i (1≤i≤16) denotes the index of a processor. After the ith processor carries out a task and records the execution time T(i), the Sleep function, which is a function provided by Compaq Visual Fortran and can be used to delay the execution of a program for a specified duration, is employed to suspends the execution of the task for a time interval T(i)*SP(i). In this way, the execution time is prolonged from T(i) to (1+SP(i))*T(i). In the experiments, the
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Xing Chena et al.: An Effective and Low-Cost Dynamic Task Scheduling Algorithm on Cluster Systems
45
randomly created speed factors are confined to be , and they are shown in Fig. 5. For the “simulated” heterogeneous system, equation (1) is no longer valid because the execution time of a computation is not uniform for the processors in such a system. Assuming the execution time of a parallel computation using N processors is T(N), and the execution time on a single processor i is Ti(1) , where 1≤i≤N, then the average execution time on a single processor, denoted by T’(1), can be found by N
T ′(1) =
∑ Ti (1) i =1
N
N
=
T (1) * ∑ (1 + SP (i )) i =1
,
N
(3)
in which T(1) is the execution time on a single processor in the corresponding homogeneous system and it is related to T1(1) by (4) T1 (1) = T (1) * (1 + SP(1)) . Then, the speedup of a parallel computation using N processors in the “simulated” heterogeneous system can be obtained, by substituting T(1) by T’(1) in equation (1) and making use of equations (3) and (4), as N
Speedup( N ) =
( ∑ Ti (1)) / N i =1
T (N )
N
=
T (1) * ∑ (1 + SP (i )) i =1
T (N ) * N
course, just like all the other scheduling algorithms, the proposed algorithm is not valid in all cases. If the case is so complicated that it is impossible to speculate the relative work load of tasks, the proposed algorithm would be invalid. To study the effectiveness of the proposed task scheduling algorithm, it is implemented in cluster systems and its performance is compared with a uniform distribution algorithm. Results of the experiments show that application of the proposed algorithm is able to achieve high speedup and parallel efficiency in both types of cluster systems: the system consisting of homogeneous processors and the one formed by heterogeneous processors. APPENDIX 1. The Master-Slave Model. 2. Examples of the slave processor list and the task queue (a) The slave processor list;
N
=
T1 (1) * ∑ (1 + SP (i )) i =1
(b) The task queue.
T ( N ) * N * (1 + SP(1))
(5) Finally, using the speedup obtained, the parallel efficiency in the “simulated” heterogeneous system can be calculated employing equation (2). In the numerical experiment, the GA ran 5 generations. The execution time was recorded. Fig. 6 depicts the recorded execution time, the calculated speedup and efficiency using the proposed algorithm compared with those using the uniform distribution algorithm. Again, from the comparison, one observes that in the “simulated” heterogeneous system, the proposed algorithm also consumes less execution time than the uniform distribution algorithm, and can achieve higher speedup and parallel efficiency in all the cases investigated. V. CONCLUSION A dynamic task scheduling algorithm is proposed and implemented in cluster systems. The cluster systems considered in this paper employ a master-slave model. The master processor is dedicated to schedule and assign tasks to slave processors. It performs scheduling by creating and maintaining a task queue and a slave processor list. Without executing a computationally complex scheduling function, the proposed algorithm uses some simple heuristics to maximize the utilization of processors and to minimize the bad consequences caused by unavoidable load imbalances, and subsequently to reduce the total execution time. The proposed algorithm only requires information of the tasks’ relative workload and the processors’ speed for the task scheduling. Therefore, it is suitable in the cases for which the execution time of tasks on each processor is not known in advance. Of
3. Configuration of the three-dimension fishbone antenna. 4. Results of the numerical experiments in a homogenous cluster system. 5. The randomly created speed factors. 6. Results of the numerical experiments in a simulated heterogeneous cluster system. ACKNOWLEDGMENT The work of the first and the second author was supported by a grant from the National Natural Science Foundation of China (No. 10476013 and that by the National Science Fund of China for Distinguished Young Scholars (No. 60125102), respectively. REFERENCES [1] Message Passing Interface Forum. MPI: A Message-Passing Interface Standard, May 1994. [2] Jehoshua Bruck, Danny Dolev, Ching-Tien Ho, Efficient message passing interface (MPI) for parallel computing on clusters of workstations, Journal of Parallel and Distributed Computing 40 (1997) 19-34. [3] T. Sterling, J. Salmon, D. Becker, D. Savarese, How to build a Beowulf: A guide to implementation and application of PC clusters (Cambridge, MA: MIT Press, 1999). [4] Tracy D. Braun, Howard Jay Siegel, and Noah Beck, A comparison of eleven static heuristics for mapping a class of independent tasks onto heterogeneous distributed computing systems, Journal of Parallel and Distributed Computing, 61 (2001) 810-837.
46
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Xing Chena et al.: An Effective and Low-Cost Dynamic Task Scheduling Algorithm on Cluster Systems
[5] Haluk Topcuoglu, Salim Hariri, and Min-You Wu, Performance-effective and low-complexity task scheduling for heterogeneous computing, IEEE Tran. On Parallel and Distributed systems 13(3) (2002) 260-274. [6] Oh-Han Kang and Dharma P.Agrawal, Scalable scheduling for symmetric multiprocessors (SMP), Journal of Parallel and Distributed Computing 63 (2003) 273-285. [7] Andrei Radulescu and Arjan J.C. van Gemund, Low-cost task scheduling for distributed-memory machines, IEEE Tran. Parallel and Distributed systems 13(6) (2002) 648-658. [8] Sekhar Darbha, and Dharma P. Agrawal, Optimal scheduling algorithm for distributed-memory machines, IEEE Tran. Parallel and Distributed Systems 9(1) (1998) 87-95. [9] Albert Y.Zomaya, Chris Ward, and Ben Macey, Genetic scheduling for parallel processor systems: comparative studies and performance issues, IEEE Tran. Parallel and Distributed Systems 10(8) (1999) 795-812. [10] Yu-Kwong Kwok, and Ishfaq Ahmad, Efficient scheduling of arbitrary task graphs to multiprocessors using a parallel Genetic Algorithm, Journal of Parallel and Distributed Computing, 47 (1997) 58–77. [11] Hirofumi Nakano, Kazuhisa Ishizaka, Motoki Obata, Keiji Kimura, and Hironori Kasahara, Static coarse grain task scheduling with cache optimization using openMP, International Journal of Parallel Programming 31(3) (2003) 211-223. [12] Jerrell Watts and Stephen Taylor, A practical approach to dynamic load balancing, IEEE Tran. On Parallel and Distributed systems 9(3) (1998)235248. [13] Alexander E. Kostin, Isik Aybay, and Gurcu Oz, A randomized contention-based load-balancing protocol for a distributed multiserver queuing system, IEEE Trans. On Parallel and Distributed Systems 11(12) (2000) 1252-1273. [14] Muthucumaru Maheswaran, Dynamic mapping of a class of independent tasks onto heterogeneous computing systems, Journal of Parallel and Distributed Computing 59 (1999) 107-131. [15] G.Manimaran and C.Siva Ram Murthy, An efficient dynamic scheduling algorithm for multiprocessor real-time systems, IEEE Tran. Parallel and Distributed systems 9(3) (1998) 312-319. [16] Babak hamidzadeh, Lau Ying Kit, and David J. Lija, Dynamic task scheduling using online optimization, IEEE Tran. On Parallel and Distributed systems 11(11) (2000) 1151-1163. [17] Albert Y. Zomaya, and Yee-Hwei, Observations on using genetic algorithms for dynamic load-balancing, IEEE Tran. On Parallel and Distributed systems 12(9) (2001) 899-911. [18] Panagiotis D. Michailidis, Konstantinos G. Margaritis, Performance evaluation of load balancing strategies for approximate string matching application on an MPI cluster of heterogeneous workstations, Future Generation Computer Systems 19 (2003) 1075–1104. [19] Davis, L., Handbook of Genetic Algorithms (New York: Van Nostrand Reinhold, 1991). [20] Weile, D. S. and E. Michielssen, Genetic algorithm optimization applied to electromagnetics: A review, IEEE Trans. Antennas and Propagation 45(3) (1997) 343–353. [21] D.S. Linden, E.E. Altshuler, Automating wire antenna design using genetic algorithms, Microwave Journal 39 (1996) 74-86. [22] Richie, J.E., Gangl, H.R. III, EFIE-MFIE hybrid simulation using NEC: VSWR for the WISP experiment, IEEE Trans. Electromag. Compat. 37(2) (1995) 293-296. [23] Peng, J., Balanis, C.A, Barber, G.C, NEC and ESP codes: Guidelines, Limitations, and EMC applications, IEEE Trans. Electromag. Compat. 35(2) (1993) 125-133.
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Xing Chena et al.: An Effective and Low-Cost Dynamic Task Scheduling Algorithm on Cluster Systems
47
Master Processor
Slave Processor
Slave Processor
Slave Processor
...
Slave Processor
Fig 1. THE MASTER-SLAVE MODEL. Fig. 4b. RESULTS OF THE NUMERICAL EXPERIMENTS IN A HOMOGENOUS CLUSTER SYSTEM
No. of slave processors Stauts
Speed of slave processors Fast 10 2 Busy
Idle
Slow 5 Busy
(a) Big Task6
Task10
Abstract workload Task1
Small
Task3
Assign tasks from the head of the queue
(b) Fig. 2. EXAMPLES OF THE SLAVE PROCESSOR LIST AND THE TASK QUEUE
Fig. 4b. RESULTS OF THE NUMERICAL EXPERIMENTS IN A HOMOGENOUS CLUSTER SYSTEM.
Fig. 3. CONFIGURATION OF THE THREE-DIMENSION FISHBONE ANTENNA.
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Xing Chena et al.: An Effective and Low-Cost Dynamic Task Scheduling Algorithm on Cluster Systems
48
Fig. 4c. RESULTS OF THE NUMERICAL EXPERIMENTS IN A HOMOGENOUS CLUSTER SYSTEM.
Fig. 6b. RESULTS OF THE NUMERICAL EXPERIMENTS IN A 1.0
SIMULATED HETEROGENEOUS CLUSTER SYSTEM.
Speed factor
0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.0 0
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16
The Index of The Slave Processor
Fig. 5. THE RANDOMLY CREATED SPEED FACTORS. Fig. 6c. RESULTS OF THE NUMERICAL EXPERIMENTS IN A SIMULATED HETEROGENEOUS CLUSTER SYSTEM.
Fig. 6a. RESULTS OF THE NUMERICAL EXPERIMENTS IN A SIMULATED HETEROGENEOUS CLUSTER SYSTEM.
Regular Paper Original Contribution 49
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Angela Guercio et al.: Language Constructs and Synchronization for Reactive Multimedia Systems
Language Constructs and Synchronization for Reactive Multimedia Systems Angela Guercio, Arvind Bansal, and Timothy Arndt 1
Abstract – Multimedia language constructs which support a powerful and flexible form of synchronization are presented. Rather than following a library-based approach, these constructs are meant to be added to general-purpose languages such as C++ or Java. These constructs introduce the concept of reactivity and reactive systems as supported in languages such as Esterel to multimedia languages. Reactive systems are those which respond to stimuli from the environment. These systems must react to such stimuli within a short, predefined time period, thus they are distinguished from interactive systems, which have no such constraint. Multimedia streams are represented as a type of signal to achieve such synchronization. Multiple multimedia streams can be grouped so that synchronization operations can be defined on the group as a whole. Looping constructs as found in such languages as SMIL are included along with unique preemption constructs which allow loops to be ended prematurely in the presence of some predefined event. Index Terms – Computer Languages, Multimedia Systems, Real Time Systems, Synchronization, Reactive Systems. Areas of Interest – 5.14 Multimedia, 5.15 Programming Languages I. INTRODUCTION
T
he rising popularity of multimedia content on the web has led to the development of special-purpose languages for multimedia authoring and presentations. Examples of such languages include SMIL [1], VRML [2], and MPEG4 [3]. These languages support the description of a multimedia presentation containing multiple media sources including both natural and synthetic media as well as media stored in files or streamed live over the network. Some mechanism for specifying the layout of the media on the screen is given as well as a set of primitives for synchronizing the various elements of the presentation. For example, in SMIL we can specify that two video clips be displayed in parallel or that one audio clip be started when another clip finishes. Some of these languages allow for a limited amount of user interactions. A SMIL 2.0 Manuscript received May 30, 2007. Angela Guercio is with the Department of Computer Science, Kent State University – Stark, North Canton, OH 44720, USA. (phone: 330-2443424, fax: 330-494-6121, e-mail:
[email protected]) Arvind Bansal is with the Department of Computer Science, Kent State University, Kent, OH 44242 USA (e-mail:
[email protected]) Timothy Arndt is with the Department of Computer and Information Science, Cleveland State University, Cleveland OH 44115 USA (e-mail:
[email protected])).
presentation might allow a user to choose a soundtrack in one of several different languages by clicking on a particular area of the presentation. This is accomplished through the incorporation of the events defined in a scripting language such as JavaScript. While these are well suited for the description of multimedia presentations on the Web, they are of limited use for creating more general distributed multimedia applications since general-purpose programming is only available in the form of scripting languages that have limited power. To support the construction of more largescale applications approaches such as the use of special multimedia libraries along with a general-purpose language as in the case of Java and JMF [4] or the extension of middleware such as CORBA [5] have been proposed. Besides lacking certain essential characteristics for the development of advanced distributed multimedia applications that will be noted below, the use of libraries and/or middleware to achieve synchronization and perform other media related services results in a less well-specified approach than can be achieved by directly extending existing general purpose languages with multimedia constructs with precisely specified semantics. For example, we have defined a formal semantics for our language in [6]. This would not have been possible with the library-based approach. This latter is the approach we follow in our work on multimedia languages that we will describe here. The language that we want to design should support general-purpose computation; therefore the multimedia constructs whose semantics we will describe should be added to an existing general purpose language such as C, C++ or Java. This is the approach taken by the reactive language Esterel [7]. Reactivity is a very important property for a multimedia language. A reactive system is one which responds to stimuli from the environment [8]. In a multimedia system such stimuli might include user interactions as well as (for example) events generated by the contents of some media stream. The multimedia system must be able to interact with the environment within a short, predefined time period. When used in this context, the difference between reactive systems and interactive systems is that while both may interact with the environment, the latter do not have such a time constraint. The way in which the environment interacts with the multimedia system is through the generation of signals. A signal can be either synchronous (e.g. the reading of some sensing device) or asynchronous (e.g. the recognition of a particular face in a video stream). Our approach to
50
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Angela Guercio et al.: Language Constructs and Synchronization for Reactive Multimedia Systems
multimedia languages greatly increases the power and flexibility of synchronization by providing synchronization constructs which can be applied not just between media streams, but also between media streams and (synchronous or asynchronous) signals. In fact, in our approach multimedia streams are just a particular type of signal. The rest of this paper is organized as follows. Section 2 describes the fundamental concepts of signals and streams. Section 3 introduces the various synchronization mechanisms. Section 4 describes the language constructs. Section 5 discusses related research while section 6 describes future research. II. SIGNALS AND STREAMS
Reactive systems respond to signals generated by the environment. The response must occur within a predefined time period. The signals may have a value. They may also be either periodic or aperiodic. An example of a periodic signal is one which might be generated by a sensor, like a thermometer, which periodically sends the temperature in the form of a signal to the reactive system. An example of an aperiodic signal might be the coordinate values generated by a user using a mouse which are generated only when the user moves the mouse. In order to generalize synchronization of multimedia streams, we define a multimedia stream as a particular type of signal. This allows us to apply the synchronization constructs not just to multimedia streams but to streams and other signals as well. Reactive multimedia systems often transform or respond to multimedia data which is coming from a sensor such as a digital video camera. The sensor discretizes the continuous media data, converting it into a periodic stream. In such a stream, the multimedia data is associated with a periodic signal. Other types of interactions can produce an aperiodic stream. An example might be a security camera which transmits an image only when motion is detected along a fence line. We model these streams, both periodic and aperiodic as a pair of data and attributes where the data is a sequence of tuples whose elements can be either (elementary) values or tuples. Since multimedia streams are directly associated with a signal, we use the words “stream” and “signal” interchangeably. Formally, we define three types of streams, periodic, continuous and aperiodic, as follows. Definition 1: A periodic stream S P is a sequence of elements associated with periodic signals. SPi is the i-th element in the sequence such that the period p does not vary, that is the time between SP(i+1) and SPi is the same as the time between SP(j+1) and SPj, ∀ i,j with i≠j. Definition 2: A continuous stream is the data produced continuously by a sensor. A sensor is used to detect information from the environment. A continuous stream can be modeled as a periodic stream with periodicity 0 < p < ε where ε is a small value. The period p represents the rate at which the signal is produced. Definition 3: An aperiodic signal can be generated at any time either by an external stimulus or by an event generated
after a computation or through a user interaction (such as voice or mouse movement). An aperiodic stream SA is a sequence (possibly of length one) of aperiodic signals. In an aperiodic stream SAi represents the ith aperiodic signal. A multimedia stream is then defined as follows. Definition 4: A multimedia stream S has two components: attribute-set and data. Three attributes periodic or aperiodic, number of data elements per unit time, and type of data (such as audio or video or music or audiovisual etsc.) are essential. Other attributes are specific to the streams, and vary with different types of multimedia streams. Let us consider an example of a multimedia stream. Example 1: A quadraphonic audio stream is a continuous periodic multimedia stream, whose components are: (i) the data represented as a sequence of sampled packets; (ii) the attribute-set A = {a0 = periodic, a1 = audio, a2 = 44,100 samples per second, a3 = no. of channels = 4, a4 = 16 bits per sample, a5 = media length, …}. As an example of an aperiodic stream we have the following. Example 2: Aperiodic signals have data and attributes as well. An example of an aperiodic signal is mouse movement. The components of this aperiodic signal are: (i) the data which describes the mouse movement as a sequence of (X-coordinate, Y-coordinate); (ii) the attribute-set A={a0 = aperiodic, a1 =“Mouse Movement”, …}. III. SYNCHRONIZATION
Multimedia synchronization represents some logical relationship (temporal, spatial, spatiotemporal, or logical) between two or more multimedia streams or objects [9]. In the context of research in multimedia computing, however, it is customary to use synchronization to describe only the temporal relationship [10]. Synchronization can also mean intra-media synchronization, which defines the temporal constraints within a single multimedia stream; however in general synchronization means i n t e r - m e d i a synchronization. Synchronization research can be done on a number of issues [9]. Among these are modeling and specification of synchronization requirements, synchronization algorithms and protocols, and fault recovery in the presence of failures. Our research falls in the first category. In order for multiple streams to be synchronized, they must share a common clock. In centralized systems it is possible for all streams to use the same physical clock, but this is not possible in distributed systems. The use of multiple physical clocks in such systems is problematic since clock drift can cause skew between the clocks. In order to control this, the multimedia data source inserts synchronization points into the streams. The synchronization points can be media points or event
51
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Angela Guercio et al.: Language Constructs and Synchronization for Reactive Multimedia Systems
counters which preserve the partial ordering of events [11]. In general, inserting more sync points allows for a finer degree of synchronization, but with the cost of added overhead. For synchronization purposes, the multimedia streams need to share a common clock (possibly a logical clock). This common clock provides a common time-base used for synchronization purposes [12]. One of the issues we should take into account while synchronizing media streams is the possibility to have synchronization skew. For example, for good lip synchronization the limit of the synch skew is ±80 msec between audio and video. In general, ±200 msec is still acceptable. For a video with speaker and voice the limit is 120 msec if the video precedes the voice and 20 msec if the voice precedes the video [26]. The worst sync skew that can occur depends on how far apart the synch points have been chosen. The closer the synch points, the more resources (such as buffer space) are required when the system is running but more precision in synchronization will be obtained. How should the synch points be chosen if we have several streams with different synch points to be synchronized? Of course, a common synch point for all the streams must be found. If we do not need a very strict synchronization or we want to save resources, we explicitly define the synch points to be further apart. For example, if two streams are dependent and one stream has sync points every 2 seconds and the other stream every 3 seconds, a resource saving choice would be to select as the common sync point the least common denominator of the two synch points, i.e. 6 seconds. However, it is highly probable that this choice would not provide great results from the visualization point of view, since it would increase the chance of perceptual distortion. Therefore, this choice is not appropriate in our case where synchronization must be very tight. A more restrictive option is used by selecting the smallest of the values of the synch points of the streams. A. Groups A distributed multimedia system receives input data from sources, which can be either local or remote. The input data are either streams of media data or asynchronous signals produced by the interaction of the system with the external environment. Because of the temporality of the input data involved in the model, each multimedia stream S generated from the source has an associated clock c ∈ C and forms a multimedia source Src(S, c). Many streams can be generated at the same instant from different sources. Some of these streams must be treated by the distributed reactive multimedia systems as dependent on one another; other streams must be treated independently. For example, suppose that an audio and a video are produced from two distinct sources and that they must be rendered at the same time. If we later decide to speed up one of the two streams what should happen to the second one? If they are dependent the second should speed up as well, on the other hand if they are independent, the second one should proceed undisturbed. We show the dependence of the streams by defining them to be members of the same group.
Definition 5: A group G is defined recursively as: (i) A single multimedia stream such that the timebase of G is same as the time-base of the stream. (ii) Two or more multimedia streams sharing a common time base or with their time-bases related through an equation for proper synchronization. Logically, a group is a tree in which the interior nodes of the tree are groups, and the leaf nodes are multimedia streams. Groups express of dependency of streams and operations performed on the group will influence all of the elements of the group. Operations on a particular multimedia stream of a group (e.g. scaling of the time-base) can either be applied in isolation or to all of the streams in a group to which the stream belongs. We will call the first type of operation i s o l a t e d and the second type synchronized. B. The Synchronization Process The synchronization process consists of a set of spatiotemporal functionalities that enables rendering of multimedia objects in multiple streams to have the same perception as if it happened in real time. Inter-media synchronization involving multiple media streams requires the ability to relate the clock of each stream either through a common shared time-base or through an equation relating the two time-bases. If two multimedia streams are grouped together (are dependent) then changing the time-base of one stream similarly affects the time-base of the other stream to maintain synchronization. Definition 6: Given n streams S1, S2,…, Sn, in a multimedia group G={Sj, Sj+1,…, Sm}, and a synchronization function f, the application f(Si) (1 ≤ i ≤ n) enforces the application of function f on all the multimedia streams S1, S2, …, Sn such that the synchronization constraint is maintained. Consider the lip synching of an audio and a video stream that are played in a lock step manner to give a realistic perception. The two streams are grouped so that timescaling on either stream (e.g. time stretching or compressing the video) causes the other stream to be timescaled to maintain synchronization. The grouping of streams is dynamic and event-driven. That is, certain events may affect a group in one way while another event may affect the group in another way. This dynamic behavior can be obtained either by having multiple orthogonal groups and associating different events with different groups, or by dynamically ungrouping and regrouping the streams through language grouping constructs. IV. LANGUAGE CONSTRUCTS
In this section we will describe those language constructs that support synchronization in reactive multimedia systems. Due to space limitations, we are not able to give all of the language constructs. The exact syntax of the constructs will depend on the host language that the
52
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Angela Guercio et al.: Language Constructs and Synchronization for Reactive Multimedia Systems
multimedia constructs are embedded in. In the examples that are given, the host language is C. This results in the constructs having a “C-like” syntax. It is expected that the processing of the synchronization constructs would be handled by a preprocessor before passing the results to a compiler for the given host language. A run-time environment would then support the run-time synchronization. That is, the implementation will be similar to that of Esterel [7]. A. Stream Definition Declarations of media streams are given in terms of the source of the stream (a URL) and the type of the stream (audio, video, audiovisual, etc.) An asynchronous stream can be defined as well. The granularity of the sync points is given as well. Each different type of multimedia stream has a number of attributes whose values are given as part of the declaration (e.g. audio attributes include the name of the stream, number of samples per second, number of channels, number of bits per sample, etc.). Example 3: The following code is used to declare and initialize an audio stream coming from a remote source. The file name is “speech.mov” and the origin of the media is indicated by the URI address of the source. The audio received can be rendered in the systems at 44,100 samples/sec with 16 bits/sample over 2 channels and the playback rate should not be slower than half of the normal rate, no more than twice as fast as the normal rate. The stream should have a sync point every 200 milliseconds. The host language is C. audio_stream mm1={source1, “192.168.2.102”, “speech.mov”, 44100, 2, 16, 0.5, 2.0, .2}
B. Grouping Constructs Media streams are grouped together when dependency between streams needs to be stated explicitly. In particular, grouping clusters one or more media streams or groups for synchronization. The groups are both dynamic and hierarchical. Example 4: Suppose we have a video that shows an opera singer singing and we want to add the audio in lip synch mode. To keep up the impression that the soprano is really singing, if we speed up the video, we expect the audio to speed up as well. In order to provide this type of synchronization, we need to indicate that the audio and the video are somehow dependent on each other. Groups are an elegant and efficient way to specify synchronization on multiple streams. The following code groups the two streams. group soprano = “audiostream_opera”}
{“videostream_opera”,
Groups are hierarchical since a group member can be a previously declared group. They are dynamic since we have commands u n g r o u p , to dissolve an existing group, a d d _ g r o u p , to add elements to a group,
delete_group to remove elements from a group, and regroup to add elements to a new group. Groups have sync points as well. They can either be given explicitly, or computed implicitly as the smallest value of the elements of the group (chosen so as not to lose precision). C. Event Definition Our constructs make heavy use of events. An event may be generated based on the characteristics of the multimedia streams. For example, the appearance of a particular face in a video stream or a particular voice in an audio stream might cause an event to be generated. The events in turn can affect the synchronization of multiple streams. Events are defined based on the satisfaction of one or more partial conditions. Partial conditions can involve the presence or absence of some signal, the matching of an attribute value or some other condition. Events have a destination (module or object or synchronization process) that they are sent to, as well start and end times and a priority. Example 5: A user performs a right click of the mouse every time he or she wants to start a video clip; however the video clip cannot be started until the current video clip is terminated and the video must be terminated within a reasonably small range of time (within 5 seconds) otherwise the request is dropped. partial_condition_signal_presence cond1 = { // Test for signal presence NewVideoClip, // Name of the signal – it is present when // the video is playing yes } // Test for its presence partial_condition_signal_presence cond2 = { RightClick, // Present when user right clicks yes, // Test for presence (not absence) 0, 5 } // It was present in last 5 seconds event start_video = { player1, // Destination of event is renderer cond1, // The partial conditions of the event cond2 }
D. Synchronization One basic synchronization construct is the loop. It has a number of elements which are played one or more times in sequence. It should be noted that this “loop” construct corresponds to the “loop” of the SMIL language, and not to the “loop” construct of the host language (while loop, for loop, etc.). Both types of “loops” are needed, and the loop construct given here coexists with the loop statements of the host language. The elements of our loop are multimedia streams, while the elements of loop constructs in traditional language are executable programming language statements. We have retained the name “loop” since it has become a standard name for such constructs due to the popularity of SMIL. The number of times the loop is repeated can be specified along with a delay time.
53
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Angela Guercio et al.: Language Constructs and Synchronization for Reactive Multimedia Systems
Example 6: In the following example, the second video stream is played three seconds after the first if a given condition is satisfied. The pair repeats two times. if (user.outputdevice == PC) loop { times = 2, element = video_stream1, delay = 3, element = video_stream2 } else printf(“Can’t play video on device\n”);
Another important type of synchronization is when we want to play two or more streams concurrently. We support this type of synchronization with the parloop construct. The syntax is similar to the loop construct however the elements of the parloop are played in parallel rather than sequentially. Loops can also be nested as shown in the following example. parloop { times = 4, element = audio_stream, loop { times = 2, element = video_stream1, element = video_stream2 } }
We can also specify that we want two or more media streams to play in parallel (in other words start at the same time) and end at the same time as well in a parloop construct. In order for this to occur in general one or more of the streams must be stretched (scaled). In order for the scaling to occur, the scaling constraints given as part of the Quality of Service requirements in the declaration of the stream must not be violated. Loops and parloops are the basic constructs used for synchronization of periodic data streams. They are also the mechanism used to start the playback (rendering) of a multimedia data stream. If we wish to play a stream just once, we use a loop construct with a single element and a single loop time. Note also that the presence of a loop embedded in a program does not cause the execution of the rest of the program to wait until the playback finishes – the execution continues concurrently with the rendering of the media. E. Preemption Constructs Loops, including infinite loops can be ended prematurely in response to an event. For example, consider a situation where a sequence of advertisements are being displayed on a public terminal, and suddenly a weather warning must interrupt or terminate the current show to provide urgent news. The warning is sent as an asynchronous signal, which may generate an alert event and require showing a text stream, which explains the type of emergency. Other multimedia streams such as an audio signal or a video could follow the text. This situation requires the specification of an abortion of a loop based on the presence of an asynchronous signal (for example the pressing of a button). The advertisement is put inside a loop, and the text media is displayed after the asynchronous signal aborts the loop.
There are 2 types of abortion: "strong", "weak" which can be specified in the loop or parloop construct: Strong abortion performs the immediate interruption at the next multimedia sync point without waiting for the completion of the current cycle of the loop as soon as an aperiodic signal is present. Weak abortion performs preemption as soon an aperiodic signal is present but will complete the “current” loop cycle that is playing when the signal occurs. Suppose that we have declared a group consisting of a video stream – MyAdvertisement, a text stream – MyText, and an audio stream – MyAudio. Further assume that we have declared sync points every two seconds for this group. If we want to stop playing MyAdvertisement when an aperiodic signal named StopAdv is present, we can do this as follows: loop {
}
times = 3, abort_when = StopAdv, abort_type = strong, element = MyAdvertisement
In this example, even though the abort type is strong, we will wait until the next sync point in the media stream to abort the rendering of the stream in order to maintain synchronization with other members of the group. In the worst case, we will wait 2 seconds from the time the signal is present until the abortion occurs. Suppose the advertisement is shown in sequence with some text. Suppose further that in the presence of the aperiodic signal StopAdv we want to skip the rest of the sequence of ads and text, and skip to the song which is supposed to follow them. However, we don’t want to interrupt an advertisement which has already started. In this case we can use weak abortion as shown below. loop {
}
times = 1, loop { times = 1, abort_when = StopAdv, abort_type = weak, element = MyAdvertisement, loop { times = 3, element = MyText } } element = Song
We can further control the weakness of the abortion and specify other possible synchronization situations by introducing the delayed abort. In this case, the delay value is added to the time required to reach the first synch point after the delay is over. That means that the media stream is rendered for the delay period plus the time to reach the first sync point after the delay is over. Again, let us consider an example. loop {
}
times = 1, abort_when = StopAdv, delay = 3, element = MyAdvertisement
54
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Angela Guercio et al.: Language Constructs and Synchronization for Reactive Multimedia Systems
In this example, since MyAdvertisement has sync points every 2 seconds and assuming that strong abortion is the default, the abort will occur between 3 and 5 seconds after presence of the signal StopAdv. If the loop ends before this time, no further delay occurs. V. Related Research
Athwal [13] presents a methodology for the synchronization of multimedia streams for engineering and scientific analysis. Since the scientific and engineering phenomena which are recorded and subsequently played back are frequently not well correlated to the human’s visual and cognitive timeframe, it is quite possible that the previously captured data must be played back in a different timeframe – perhaps using slow motion or time lapse or some more complex variability in the playback rate. This is termed time elasticity and it has some relationship to our notion of stretching grouped multimedia streams. It should be noted that the methods described in [13] are suitable only for prerecorded multimedia streams and that much of the methodology is concerned with minimizing resource usage during the synchronized play back of such streams. Besides the limitations as far as application area and type of multimedia streams, the focus of that work is different from our research in that the focus is on implementation details for systems for synchronization rather than on languages to allow for the expression of synchronization. The work also differs in that it lacks the notion of sync points, which can be defined for our groups and loops, which allow a high level of flexibility for synchronizing multimedia streams under many different quality of service requirements. Furthermore, interaction of multimedia streams with aperiodic signals is not even considered. The same points about the difference of focus of our work and this one could be made about most of the other recent research on synchronization. Cameron [14] proposes a model for reactivity in multimedia systems; however their notion of reactivity is much different than ours. They discuss multimedia systems in which a multimedia artifact (i.e. a multimedia stream) can react to discrete events, such as an audio player reaching the end of a track as well as to continuously evolving behaviors such as the volume of an audio track. They make a distinction between a series of discrete events and a continuously evolving behavior. Since behavior is an author-level abstraction, which therefore hides implementation details of the media streams, the approach is more suited for use as a high-level authoring tool for multimedia presentations rather than for construction of distributed multimedia systems. A number of XML-based multimedia languages have been proposed lately. None of them provide all of the capabilities described in this paper, although some provide complementary capabilities. For example, Gu [15] introduces HQML, an XML-based language to express the quality of service requirements of distributed multimedia systems. Another example is the multi-modal presentation markup language (MPML) [16] which is an easy to use
XML-based language enabling authors to script web-based interaction scenarios featuring life-like animated characters. An interesting proposal related to the research of this paper is that of a common event model for multimedia [17]. Events occur in such diverse multimedia related contexts as multimedia presentation formats, programming frameworks, and databases among others. A common event model for multimedia could serve as a unifying foundation for such applications and if such a model ever became standard, it would need to be incorporated into our work. An extension of the SMIL 2.0 standard for custom multimedia applications is given in [18]. SMIL is extended in various ways including the ability to attach new input sources, new output capabilities and extended internal logic. An implementation of an extended SMIL player is described. VI. Conclusions and Future Research
A model for distributed multimedia systems which incorporates the synchronization constructs discussed in this paper along with an active repository which allows for the constant testing of the multimedia data for deterministic and non-deterministic events is given in [19] where a complete implementation for an XML-based language are given. The implementation of the active repository under Windows using C++, C#, Intel’s OpenCV and Microsoft’s Speech Recognition SDK is given in [20] and its use is demonstrated in [21]. The behavioral semantics of the language constructs have been developed as well in order to provide a formalism for verification, compilation, and validation [6]. The semantics incorporates the temporality and the communication aspects of the system and uses a variation of the π-calculus [22] for modeling distributed reactive multimedia systems. The π-calculus has its roots in the CCS (Calculus of Communicating Systems) [23, 24, 25], which is able to describe interactive concurrent systems as well as traditional computation. The π-calculus adds to the CCS, mobility of the participating processes and uses the transmission of processes as values, and the representation of data structures as processes. REFERENCES [1] Synchronized Multimedia Integration Language 2.0 Specification, http://www.w3.org/TR/smil20/ August. 2001. [2] Virtual Reality Modeling Language, ISO/IEC14772, 1997 http://www.web3d.org/x3d/specifications/vrml/ISO_IEC_14772All/part1/concepts.html. [3] H. Kalva, L. Cheok, A. Eleftheriadis, “MPEG-4 Systems and Applications”, Proc. of the 7th ACM Intl. Conf. on Multimedia (Part 2), Orlando, Florida, p. 192, October 1999. [4] R. Gordon, S. Talley, “Essential JMF – Java Media Framework”, Prentice Hall, 1999. [5] Object Management Group, “Control and management of A/V streams specification”, OMG Doc. telecom/97-05-07, 1997. [6] A. Guercio, A.K. Bansal, “Towards a Formal Semantics for Distributed Multimedia Computing”, Proc, of 13th Intl. Conf. On Distributed Multimedia Systems, San Francisco Bay, California, pp. 81-86, September 2007. [7] G. Berry, G. Gonthier, “The ESTEREL Synchronous Programming Language: Design, Semantics, Implementation,” Sci. of Comp. Progr. vol. 19, no. 2, pp. 87-152, November 1992.
55 [8] [9] [10]
[11] [12] [13] [14] [15] [16] [17] [18] [19]
[20]
[21]
[22] [23] [24] [25] [26]
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Angela Guercio et al.: Language Constructs and Synchronization for Reactive Multimedia Systems
G. Berry, “The Foundations of Esterel”, in Proof, Language and Interaction: Essays in Honour of Robin Milner, G. Plotkin, C. Stirling and M. Tofte ed., MIT Press, pp. 425-454, June 2000. N.D. Georganas, R. Steinmetz, T. Nakagawa, “Guest Editorial on Synchronization Issues in Multimedia Communication”, IEEE J. on Sel. Areas in Comm. vol. 14, no. 1, pp. 1-4, 1996. L. Li, A. Karmouch, N.D. Georganas, “Multimedia Teleorchestra with Independent Sources: Part 1&2 – Temporal Modeling of Collaborative Multimedia Scenarios”, ACM/Springer Multimedia Sys. vol. 1, no. 4, pp. 143-153, 1994. L. Lamport, "Time, Clocks and the Ordering of Events in a Distributed System", Comm. of the ACM, vol. 21, no. 7, pp. 558-564, 1978. R. Gordon, S. Talley, “Essential JMF – Java Media Framework”, Prentice Hall, 1999. C.S. Athwal, J. Robinson, “Synchronized Multimedia for Engineering and Scientific Analysis”, Multimedia Systems, vol. 9, pp. 365-377, 2003. H. Cameron, P. King, S. Thompson, “Modeling Reactive Multimedia: Events and Behaviors”, Multimedia Tools and Applications, vol. 19, pp. 53-77, 2003. X. Gu, K. Nahrstedt, W. Yuan, D. Wichadakul, "An XML-based Quality of Service Enabling Language for the Web", J. of Visual Lang. and Comp. vol.13, no. 1, pp. 61-95, 2002. H. Prendinger, S. Descamps, M. Ishizuka, “MPML: a Markup Language for Controlling the Behavior of Life-like Characters”, J. of Visual Lang. and Comp. vol. 15, pp. 183-203, 2004. U. Westermann, R. Jain “Toward a Common Event Model for Multimedia Applications”, IEEE Multimedia, vol. 14, no. 1, pp. 1929, 2007. K. Pihkala, P. Vuorimaa “Nine Methods to Extend SMIL for Multimedia Applications”, Multimedia Tools and Applications, vol. 28, no. 1, pp. 51-67, 2006. A. Guercio, A.K. Bansal, “TANDEM - Transmitting Asynchronous Non Deterministic and Deterministic Events in Multimedia Systems over the Internet”, Proc. of the 10th Intl. Conf. on Distributed Multimedia Systems, San Francisco, CA, pp. 57-62, 2004. A. K. Bansal and S. Uddin, “Multimodal Triggers for Automated Filtering and Reactivity based on WWW Content,” Proceedings of the IASTED International Conference of Internet and Multimedia Systems and Applications, Hawaii, pp. 311-316, 2004. B. Simoes and A. K. Bansal, "Voice Based Interactive Modification of Web Based Movies", Proceedings of the IASTED International Conference of Internet and Multimedia Systems and Application, Hawaii, pp. 53-58, 2004. R. Milner, “Communicating and Mobile Systems; the π-calculus”, Cambridge University Press, 1999. R. Milner, “A Calculus of Communicating Systems”, LNCS, vol. 92, Springer-Verlag, 1980. R. Milner, “Communication and Concurrency”, Prentice Hall, 1989. Y. Wang, “CSS + Time = an Interleaving Model for Real Time”, LNCS 510, pp. 217-228, 1991. Z.N. Li, M.S. Drew. Fundamentals of Multimedia, Pearson PrenticHall, 2004.
Angela Guercio received the Ph.D. in computer science from Kent State University, Kent, OH, USA in 2004, the Master of Science in computer and information sciences from the Knowledge Systems Institute, Skokie, IL, USA, in 2000 and the Doctor in computer science “cum laude” from the University of Salerno, Salerno, Italy in 1984. She is currently Assistant Professor at Kent State University in NW Canton, OH, USA. She has been Assistant Professor at Hiram College, Hiram, OH, USA and Senior Research
Associate at University of Salerno, Salerno, Italy. She has done research and teaching at both graduate and undergraduate level. Dr. Guercio’s research interests include programming languages, software-development environments, multimedia computing, web programming, and multimedia and visual languages. She is co-author of several papers published in scientific journals and refereed conferences. She has been winner of several awards and Fellowships for her research. She has chaired and participated in the organization of several international conferences and coedited special issues of international journals. Prof. Guercio is a member of the IEEE, the IEEE Computer Society, and of the ACM.
Arvind Bansal received B. Tech. in electrical engineering and M. Tech. in computer science from the Indian Institute of Technology, Kanpur, India, and Ph. D. in in computer science from Case Western Reserve University, Cleveland, OH, USA. He is a professor in the Department of Computer Science at Kent State University, Kent, OH USA. He has served as a summer research faculty in the Mathematics and Computer Science Division at Argonne National Laboratory, IL, USA, has been a visiting research scientist at Biocomputing unit at European Molecular Biology Laboratory at Heidelberg, Germany, and has been a CRC fellow at Department of Computer Science at The University of Melbourne, Melbourne, Australia and The Australian AI Institute. Dr. Bansal’s research contributions are in the fields of logic programming, distributed multimedia knowledge bases and information retrieval, theory of fault tolerance in agent based languages, automated genome comparison, automated derivation of metabolic pathways, evolutionary analysis, and distributed multimedia environments and languages. His current research interests are distributed biocomputing fault tolerant models of artificial intelligence, Internet based multimedia computing environments and languages, voice morphing, image understanding, human computer interaction, digital human system, and genomics and proteomics.
Timothy Arndt received the Ph.D. in computer science from the University of Pittsburgh, Pittsburgh, PA USA in 1991, the Master of Science in computer and information science from the University of Florida, Gainesville, FL, USA in 1985 and the Bachelor of Science degree in computer science and mathematics from Purdue University, West Lafayette, IN USA in 1984. He is an Associate Professor in the Department of Computer and Information Science, Cleveland State University, Cleveland OH, USA. He has previously been an Assistant Professor at Texas State University and Lamar University, an Adjunct Faculty member at the Universita' del Sannio, a consultant with Italdata S.p.A. and a research intern with the Software Technology program of the Microelectronics and Computer Technology Corporation. Dr. Arndt is a member of the Association for Computing Machinery and the International Society for Computational Biology. He was the coChair of the Distributed Multimedia Systems 2005 conference, and has been a guest editor for special issues of the Journal of Visual Languages and Computing and the International Journal of Software Engineering and Knowledge Engineering. He is currently the Visual Software Tools editor of the Journal of Visual Languages and Computing and a member of the Editorial Review Boards of the Journal of Distance Education Technology and the Tamkang Journal of Science and Engineering.
Regular Paper Original Contribution 56
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Peter J. Downey: Overheads in Parallel Loop Synchronization
Overheads in Parallel Loop Synchronization Peter J. Downey
Abstract—Loops that synchronize parallel processors at the end of each iteration are compared with loops that do not synchronize their iterations. In the presence of data dependencies, loop synchronization cannot always be removed—the purpose here is to estimate the additional costs incurred when synchronization is necessary. Suppose there are n parallel processors each executing k iterations. Under the assumption that each iteration of the loop body runs for a time controlled by an independent identically distributed random variable X with mean µ and variance σ 2 , it is shown here that the ratio of the expected time taken with synchronized loops to the expected time taken with unsynchronized loops is asymptotically EX (n) + ǫ(n) µ
(n, k → ∞) ,
where EX (n) is the expected maximum of n independent random variables with with the distribution of X , and ǫ(n) is the (deterministic) time to fork n processes. Since EX (n) grows with n in a way that can be estimated for many particular distributions, the ratio above yields an estimate of the relative time penalty incurred by loop synchronization and the sensitivity of this penalty as the degree of parallelism n increases. Index Terms—parallel computing, parallel loops, synchronization, order statistics, expected extreme, probabilistic algorithm analysis. ISAST Areas of Interest—5.2 Algorithms and Complexity Theory, 5.19 Theory and Applications for Computer Science and Software Engineering.
I. I NTRODUCTION
L
ARGE scale scientific computations performed on parallel processors often contain iterations performed in parallel, during which the same body of code is repeatedly executed on each of the processors. In addition, the number of iterations on each processor is frequently very large. Depending on the specific application, the iterations may be synchronized or unsynchronized. In synchronized iteration, iteration number i must terminate on all of the processors before iteration number i + 1 can begin on any processor. In unsynchronized iteration, iterations can proceed in order but independently on each processor, with the only synchronization occurring after all processors have finished their iterations. This paper compares the running time of synchronized iteration to that of unsynchronized iteration under simple probabilistic assumptions about the running time of iteration loop bodies. It assesses the time penalties incurred by synchronization, and indicates the main determinants affecting such time penalties. Results are asymptotic—valid only for large numbers of iterations across a large number of processors. Manuscript received June 5, 2007; revised July 31, 2007. P. J. Downey is with the Department of Computer Science, The University of Arizona, Gould-Simpson Bldg 917, 1040 E Fourth St, Tucson, AZ, 85721-0077 USA (phone: 520-621-2207; fax: 520-621-4246; e-mail:
[email protected])
Let there be n identical processors P1 , P2 , . . . , Pn , each repeatedly executing a body of code B for a total of k iterations. Depending on the particular processor and the iteration number, this code will give rise to computations of various lengths (depending on differing conditional paths taken by varying initial data, differing machine environments, etc.). (i) Let us denote by Xj the computation performed by machine j (1 ≤ j ≤ n) at iteration i (1 ≤ i ≤ k). In an unsynchronized loop, processor Pj performs the sequence of computations (1)
(2)
(k)
Xj , Xj , . . . , Xj
,
with no pause between successive computations. Synchronization occurs across machines only at the beginning and end of all parallel iterations. In the synchronized loop, Pj performs the same sequence of computations; however, all the stage i computations on each of the processors, viz., (i)
(i)
X1 , X2 , . . . , X(i) n are constrained to begin simultaneously. This introduces overheads—in synchronizing the start of the n parallel computations (forking), as well as in awaiting the termination of the n parallel computations from the previous iteration at stage i − 1 (waiting or joining). To describe the differences between these two loop structures in terms of a (typical) parallel programming language, we use pseudocode taken from [1]. If B is the repetitive body of code performed at each iteration, then the synchronized loop corresponds to the code Synchronized: for i:=1 to k do for j:=1 to n do in parallel B end in parallel end for where the parallel for loop is the inner loop. The unsynchronized loop corresponds to the dual loop structure Unsynchronized: for j:=1 to n do in parallel for i:=1 to k do B end for end in parallel in which the parallel for loop is the outer loop. The code body B is in the general case parameterized by both the processor number j as well as the iteration number i. These two programs are not necessarily equivalent. The question of whether the synchronized version can be replaced
57
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Peter J. Downey: Overheads in Parallel Loop Synchronization
by the unsynchronized version while maintaining equivalence can be answered only by reference to the particular structure of the iteration body B. For example, if B on machine j makes reference only to data computed by earlier iterations on machine j, then the unsynchronized version can be used. But tight cross-processor dependencies will force the synchronized loop to be employed. Many algorithms based on the parallel random access machine (PRAM) computational model [1] require that loops be synchronized. In this paper, we study the relative efficiency of these two loop organizations in isolation from the question of whether the more efficient version can actually be used correctly. This serves to compare the relative cost of using synchronization should it be necessary, and to assess the improvement obtained when unsynchronized loops can be correctly used. A. Timing Model To model the running time for these two loop structures, let (i) us denote the execution time for computation Xj (machine (i) (i) j, iteration i) by Xj . In this paper, Xj is assumed to be a random variable. We assume that the distribution of these random variables is known, but that the particular amount of (i) time taken by processor Pj on its ith iteration—Xj —is not known a priori, but is the result of a random process. We therefore seek to understand how running time depends upon the ensemble of times, and characteristics of this ensemble, rather than upon particular instances of execution. One obvious influence on the total time of a parallelized iterative process comes from execution time uncertainties. Successive executions of the code body can vary widely and unpredictably in running time; but the iteration body can be characterized by a distribution of running time rather than by a single quantity. The performance in time of these loops is influenced by the characteristics of this distribution, such as its mean and standard deviation. In addition, when loops are run in parallel, one is forced to consider not only sums of uncertain time durations, but also the extreme (maximum) of a number uncertain time durations evolving in parallel. For the moment, let us ignore any time overheads necessary to initiate (or fork) n computations on processors P1 , . . . , Pn . Such overheads will occur whenever a for ...do in parallel statement is encountered. These forking overheads will be addressed during the analysis in Section II below. With this momentary simplification, the total time spent in executing the synchronized loop can be depicted in Fig. 1. The unsynchronized loop model is depicted in Fig. 2. The vertical lines in these figures indicate synchronization barriers.
k iterations (1) Xn (1)
(3)
Xn
(2)
X3
(3)
X3
(1)
X3 (2)
X2
(3)
X2 (1)
(3)
X1
X(n)
|
X2
(2)
X1
X1
| Sn
|
|
Fig. 1. Synchronized Loops. Time for k iterations on n processors, with synchronization after each parallel loop body. Vertical lines are barriers at which synchronization occurs. In this illustration, there are n = 4 processors and k = 3 iteration stages. (1)
(2)
Xn
(1)
(1)
(2)
(1)
(3)
X3
(3)
X2 X1
Xn
X3 (2)
X2
(3)
Xn
X3
X2 (2)
(3)
X1
X1
Y(n) = max(Y1 , . . . , Yn )
|
Un
|
| |
Fig. 2. Unsynchronized Loops. Time for k iterations on n processors, with no synchronization of loops across processors. Vertical lines are barriers at which synchronization occurs. Random variables Yi are sums of k random variables, (1) (2) (3) each distributed as X, i.e., Y1 = X1 + X1 + X1 + . . .. In this illustration, there are n = 4 processors and k = 3 iterations. The assumptions of the model are as follows: •
•
• •
B. Model Assumptions In Section II, we will compare the expected values of Sn , the running time of the synchronized loop (Fig. 1), with Un , the running time of the unsynchronized loop (Fig. 2). Here we collect the assumptions made in the analysis. Some assumptions are chosen in order to make the analysis tractable, and some are chosen to focus attention on the asymptotic conditions of interest—where both the number of processors n and the number of iterations k are very large.
(2) Xn
•
There are k iterations of the loop performed in parallel on n processors. (i) Task times Xj (1 ≤ j ≤ n, 1 ≤ i ≤ k) are independent, identically distributed random variables with a common distribution F (x) = Pr[X ≤ x]. Distribution F has finite variance σ 2 and mean µ. The time to fork n parallel tasks is a deterministic quantity ǫ(n). In general it is will be a slowly increasing function of the number of processors. We will assume that it increases at most linearly in n: ǫ(n) = O(n) as (n → ∞). As the number k of iterations and the number n of processors gets large, we assume that the number of processors used grows more slowly than the number of iterations performed: n/k → 0 (n, k → ∞). This assumption assures that a large number of iterations are performed on each processor, no matter how many processors become available.
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Peter J. Downey: Overheads in Parallel Loop Synchronization
58
II. A NALYSIS A. Synchronized Loop The completion time Sn (Fig. 1) of the synchronized loop is the sum of the times for k stages. Each stage completes in a time that is distributed as X(n) , the maximum of n independent and identically distributed (i.i.d.) random task times with distribution F . Added to this is the time ǫ(n) needed to fork these n tasks on each iteration. This yields an expectation of ESn = k · EX(n) + k · ǫ(n) .
(1)
B. Unsynchronized Loop The completion time Un (Fig. 2) is a maximum of n sums, plus the initial fork time. Thus Un = max(Y1 , Y2 , . . . , Yn ) + ǫ(n) ,
(2)
where each of the Yi are independent, and each is distributed as the sum of k i.i.d. variates with distribution F . That is: Yi =d X1 + X2 + · · · + Xk .
(3)
Since F has finite variance, then for large k, each Yi converges in distribution to a normal random variable with the appropriate mean and variance: Yi →d N (k · µ, k · σ 2 )
(k → ∞) .
(4)
Therefore for large k, Un is asymptotically the maximum of n normals with the distribution in (4), plus a term that accounts for the forking overhead. From the asymptotic theory of extremes of the normal distribution [2], it is known that, if Z1 , Z2 , . . . , Zn are independent normals with mean µZ and standard deviation√σZ , then the expectation of their maximum grows like O( ln n). More precisely: √ EZ(n) = µZ + σZ · 2 · ln n + o(1) (n → ∞) . (5) Applying this result to (2) and (4) results in EUn
= =
EY(n) + ǫ(n) √ 1 kµ + k 2 σ 2 ln n + ǫ(n) + o(1) ,
(6)
as (n, k → ∞), and where the o(1) term reflects errors in the normal approximation in (4) as well as in the approximation to the extreme of normals in (5). C. The Ratio The penalty factor suffered by introducing synchronization at every iteration is, using (1) and (6), ESn EUn
= =
k · EX(n) + k · ǫ(n) √ + o(1) 1 kµ + k 2 σ 2 ln n + ǫ(n) EX(n) + ǫ(n) p + o(1) , µ + σ 2(ln n)/k + ǫ(n)/k
(7)
as (n, k → ∞). Since n = o(k) by assumption, we have that (ln n)/k = o(1). Since ǫ(n) = O(n) by assumption, we have also that ǫ(n)/k = O(n/k) = o(1), where the last
equality follows from the assumption that n/k = o(1). Thus (7) simplifies to: EX(n) + ǫ(n) ESn + o(1) (n, k → ∞) . (8) = EUn µ The result in (8) can be interpreted as indicating that the relative time dilation, or “slow-down”, produced by synchronizing each iteration consists of the sum of a forking overhead factor (ǫ(n)/µ) and a joining overhead factor (EX(n) /µ). For large k, each group of n tasks out of the overall total of k · n tasks is slowed by this ratio due to synchronization. The expression in (8) is thus a relative dilation factor of synchronized time (ESn ) over unsynchronized time (EUn ). As an example, if X is itself normal √ with mean µ and variance σ 2 , then EX(n) = µ + σ · 2 · ln n + o(1) from [2], and √ we obtain from (8) the ratio ESn /EUn = 1 + (σ/µ) 2 ln n + ǫ(n)/µ + o(1). The latter expression shows that the join overhead term is proportional to the coefficient of variation (σ/µ) of the distribution of X, and that it rises slowly with increases in the degree of parallelism n. For another example, suppose X =d F (t) obeys a Pareto law of shape p, where 1 − F (t) = t−p for t ∈ [1, ∞). If p > 1, then EX ν < ∞ for all 1 ≤ ν < p. A calculation [4] shows that EX(n) ∼ Γ(1 − 1/p) · n1/p and EX = 1/(p − 1). We thus obtain from (8) the ratio ESn /EUn = (p − 1)Γ(1 − 1/p) · n1/p √ + (p − 1)ǫ(n) + o(1). So for shape p = 2, this ratio is π · n + ǫ(n) + o(1). (Since by [4] no distribution with finite variance can have an expected exreme that grows √ faster than O( n), the Pareto law of shape p = 2 illustrates essentially the worst case for the dilation factor.) III. G ROWTH OF THE E XPECTED E XTREME EX(n) This section reviews results on the rate of growth of the expected extreme EX(n) as n → ∞. Depending upon what is known about the distribution of X, various asymptotic estimates or bounds can be provided. The most general result in [3] is that EX(n) is a monotone increasing and concave function of n and that EX(n) = o(n), provided only that EX is finite [4]. More can be said, however. Better bounds on the growth of EX(n) with n allow us to use (8) to quantify the size of this ratio. If, as assumed in this paper, X has a finite variance, 1 then EX(n) = o(n 2 ). These and other bounds on EX(n) are summarized in Table I. In order to interpret the table results, we will review what it means for a random variable X to be regularly varying, written X ∈ R−α for some α ≥ 0. To define this, we must first focus upon what it means for a distribution function F to have a regularly varying tail. The definition is based upon the behavior of the complementary distribution function (c.d.f.) F¯ (t) = 1 − F (t). For large argument, it is the c.d.f. that characterizes the “tail” behavior of F . Regularly varying distributions F are those whose c.d.f. F¯ scales homogeneously for large argument. Definition 3.1: A probability distribution function F is regularly varying if for all λ > 1, the limit lim F¯ (λx)/F¯ (x) (9) x→∞
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Peter J. Downey: Overheads in Parallel Loop Synchronization
59
exists and is in (0, ∞). F is rapidly varying if the limit is 0. The fundamental result about regular variation [5, Theorem 1.4.1] is that, provided the (finite or infinite) limit in Definition 3.1 exists for all λ > 1, then there is an extended real number ρ, −∞ ≤ ρ ≤ 0 such that for all λ > 0 lim F¯ (λx)/F¯ (x) = λρ .
x→∞
(10)
This (non-positive) ρ is called the exponent or index of variation for the d.f. F . If (10) holds, so that F is regularly varying with index ρ, we write F¯ ∈ Rρ (since it is F¯ , not F itself, that has the scaling property in (10)). If ρ = −∞ holds in (10), then the d.f. is said to be rapidly varying. The rapidly varying d.f.s are those whose complementary d.f. F¯ is in R−∞ . For example, the distribution function F (t) = 1−1/(1+ta) for a > 0 is regularly varying of index −a, since F¯ (t) ∈ R−a . The exponential distribution is rapidly varying, as is the normal and many other distributions with ”thin” tails. The class of distributions whose c.d.f is in R0 is called slowly varying. An example of a slowly varying distribution is F (t) = 1 − (ln(e + t))−1 . In applications to random variables, we say that X =d F is a regularly varying random variable of index −α, for some α ≥ 0, provided F¯ (t) ∈ R−α . In this case we write X ∈ R−α . The property of regular variation can extend to functions f that are not c.d.f.s. The defining property remains (10), with f replacing F¯ , and indices can be positive. For example, the function f (x) = x3 / ln x ∈ R3 . With these definitions, results about the behavior of EX(n) for large n are summarized in Table I. The notes following the table explain the terminology used there. Results in the table allow us to estimate the dilation factor in (8) for a large class of distributions governing task time X. TABLE I A SYMPTOTIC B OUNDS FOR EX(n) n → ∞ hypothesis on X EX(n) bound Note EX < ∞ = o(n) 1 EX p < ∞ = o(n1/p ) 2 ≤ µ + E[(X − µ)p ]1/p · n1/p X ∈ R−α ∼ Γ(1 − α−1 )cX (n) 3 X ∈ R−∞ ∼ cX (n) 4 X ∈ E1 = O(ln n) 5 X ∈ Eβ = O(ln n)β 6 Notes on Table: 1) An example d.f. in this class is F¯ (t) = t−1 ln t−2 for t ≥ e. 2) Valid for p > 1. See [6] and [4]. The o bound assumes a fixed parent d.f. F that is independent of n. The weaker ≤ bound allows F to depend on n, but has the advantage of explicit coefficients. 3) Valid for α > 1. The characteristic maximum function cX (n) is the solution to F¯ (x) = n−1 ; see [2]. If F¯ ∈ R−α then cX (n) ∈ R1/α . An example is the empirical distribution of Unix process times [7], found to be F¯ (t) = 0.241t−1.122. This yields cX (n) = 0.281n0.891 and so EX(n) ∼ 0.281n0.891. As another example, if
√ F¯ (t) = 1/(1√ + t2) for t ≥ 0, then cX (n) = n − 1 and so EX(n) ∼ πn. 4) Any d.f. in the domain of attraction D(Λ) of the double exponential extreme value distribution belongs to R−∞ [2]. If F¯ ∈ R−∞ , then cX (n) ∈ R0 . For example, the exponential d.f. F¯ (t) = e−t/µ yields EX(n) ∼ µ ln n. 5) See [8]. E 1 is the class of random variables dominated in convex ordering [9], [10] by some exponentially distributed variate. E 1 is a very large class of random variables, including all those [8] that are Coxian or of Phase (P H) type, those with bounded mean residual life, those that are New Better Than Used in Expectation (N BU E), and all subclasses [9] of the latter, such as Increasing Failure Rate (IF R) and Increasing Likelihood Ratio (ILR) variates. 6) E β is the class of variates X β for some X ∈ E 1 . An example is the Weibull F¯ (t) = exp(−λt1/β ).
ACKNOWLEDGMENT The author would like to thank the referees for their comments. R EFERENCES [1] K. A. Berman and J. L. Paul, Fundamentals of Sequential and Parallel Algorithms. Boston, MA: PWS Publishing Company, 1997. [2] S. I. Resnick, Extreme Values, Regular Variation and Point Processes. New York, NY: Springer-Verlag, 1987. [3] P. J. Downey, Bounds and approximations for overheads in the time to join parallel forks. ORSA Journal on Computing, vol. 7, no. 2, pp. 125-139, Spring 1995. [4] P. J. Downey, Distribution-free bounds on the expectation of the maximum with scheduling applications. Operations Research Letters, vol. 9, no. 3, pp. 189-201, May 1990. [5] N. H. Bingham, C. M. Goldie, and J. L. Teugels, Regular Variation. Cambridge, England: Cambridge University Press, 1987. [6] B. C. Arnold, p-norm bounds on the expectation of the maximum of a possibly dependent sample. J. Multivariate Anal., vol. 17, no. 3, pp. 316-332, Dec. 1985. [7] W. E. Leland and T. J. Ott, Load-balancing heuristics and process behavior. Performance Evaluation Review, vol. 14, no. 1, pp. 54-69, May 1986. [8] P. .J. Downey and R. S. Maier, “Orderings arising from expected extremes, with an application,” in Stochastic Inequalities, IMS Lecture Notes in Statistics, vol. 22, M. Shaked and Y. L. Tong, Eds. Hayward, CA: Institute of Mathematical Statistics, 1993, pp. 66-75. [9] S. M. Ross, Stochastic Processes. New York, NY: Wiley, 1983. [10] D. Stoyan, Comparison Methods for Queues and Other Stochastic Models. New York, NY: Wiley, 1983.
Regular Paper Original Contribution 60
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Xiao-Bang Xu: An Integral Equation Approach for Solving Skin Effect Problems
An Integral Equation Approach for Solving Skin Effect Problems Xiao-Bang Xu
Abstract— Skin effect may result in higher power loss and overheating in conductors in electric equipment. To solve skin effect problems, we present an integral equation approach, in which integral equations are formulated and a numerical technique is developed for a conductor of arbitrary shape and for multiple conductors. Being compared to the finite element method, the advantage of employing the integral equation method for solving open-boundary skin effect problems is that the radiation condition is incorporated in the Green’s function in the integral equation, so that it does not require a fictitious truncation boundary to satisfy the radiation condition, no approximation is to be made for the open boundary, nor iterative procedure is needed. As a practical example, the numerical technique is employed to determine the current distribution in the conductors of a power plant switch, which suffered from overheating. Key Words— Numerical Simulation, Integral Equation Method, Skin Effect Problems.
S
I. INTRODUCTION
kin effect is a phenomenon in which ac currents in a conductor tend to migrate toward the periphery of the conductor. Such a non-uniform current distribution results in higher power loss in systems the conductor above the dc value; and overheating of conductors in electric equipment, which may cause failure of the equipment. In the past, the skin effect has been investigated employing a modal network theory [1, 2], which is valid for rectangular conductors only, and using the finite element method (FEM) [2-11], subject to appropriate boundary conditions. To approximate open boundaries, surface integrals are used in finite-element models [7]. And an iterative finite-element procedure is developed to improve the boundary condition on a fictitious truncation boundary [8 – 10]. As pointed out in [9], the iterative procedure is convergent to the true solution if the fictitious boundary is placed sufficiently far away from the conductors, with a consequent high computational cost. Otherwise, a great number of iterations may be required or divergence may occur. In this paper, we present an integral equation approach to solve the skin effect problems in electric equipments. Being compared to the FEM, such an integral equation approach
Manuscript received June 7, 2007. Xiao-Bang Xu is the corresponding author and is with Holcombe Department of Electrical & Computer Engineering, Clemson University, Clemson, SC 29634-0915, USA.
does not require a fictitious truncation boundary to satisfy the radiation condition, because the radiation condition has already been incorporated into the Green’s function of the integral equations. Hence, no approximation is to be made for the open boundary, nor iterative procedure is needed. This approach starts with the formulation of integral equations for the uneven current distribution in conductors of interest. Then, a Method of Moment (MoM) [12] numerical technique is developed to solve the integral equations formulated. As a practical example, the MoM numerical solution technique is employed to determine the uneven current distribution in the conductors of a power plant switch, which suffered from an overheating problem. Sample numerical results of the current distribution in the conductors are presented and discussed. II. FORMULATION OF COUPLED INTEGRAL EQUATIONS In this section, we formulate integral equations for the nonuniform current distribution in a single conductor first; and then extend it to that for multiple conductors. Fig. 1 illustrates, in cross sectional view, a straight conductor of arbitrary shape and of cross sectional area S, carrying a total current I in the longitudinal direction (z-direction). Y
(µ0, σ)
I X
O
S
Fig. 1 Cross section of a straight conductor carrying current I.
For a long conductor, it is reasonable to assume that its K K current density J is independent of z, J = J z (x , y ) zˆ , and it
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Xiao-Bang Xu: An Integral Equation Approach for Solving Skin Effect Problems
61
K can be expressed as a sum of the source current density J s K and the eddy current density J s , or in scalar form J z = J sz + J ez ,
(1)
N
in which J sz = −σ
The formulation of the coupled integral equations presented above for a single conductor can be extended for multiple conductors. For K conductors shown in Fig. 2, where the ith conductor is of cross sectional area Si and carries current Ii, 2K coupled integral equations are formulated as
∂Φ , ∂z
(1a)
and J ez = −j ωσAz .
(1b)
In equations (1a) and (1b), σ is the conductivity, Φ is the electric scalar potential, and Az is the magnetic vector potential. Then, expressing the magnetic vector potential Az in equation (1b) as a surface integral of the current density and the corresponding Green’s function over the cross sectional area S of the conductor, and substituting it into equation (1), we have
J iz (x , y ) + j ωσ ∑ j =1
∫∫ J (x ′, y ')G (x, y, x ′, y ′)dx ′dy ′ − J jz
S
j µ0 (2) (3) H 0 (k 0R ) , 4 where H 0(2) (⋅) is the zero-order Hankel function of the second kind [13] that decays exponentially to zero as R → ∞ , satisfying the radiation condition requirement. At power frequencies (60 Hz and 50 Hz), the Green’s function reduces to µ γk R G (x , y, x ′, y ′) = − 0 ln( 0 ) , (3’) 2π 2 in which γ = 1.781, k 0 is the free-space wave number,
∫∫ J (x ′, y ')dx ′dy ′ = I iz
,
i
Si
i = 1, 2,...... K , (6) where Jiz is the current density in the ith conductor (i = 1, 2,……K).
y
S1
x
I1
o SK
Si
G (x , y, x ′, y ′) = −
k0 = ω µ0ε0 , R is the distance between the source point and the observation point and
R=
2
(x − x ′)
2
+ (y − y ′) , in
which (x, y) locate the observation point and (x’, y’) locate the source point. For convenience, we can rewrite equation (2) as J z (x , y ) + j ωσ ∫∫ J z (x ′, y ')G (x , y, x ′, y ′)dx ′dy ′ − J sz = 0 . S
(2′) And one more equation can be formulated as ∫∫ J z (x ′, y ')dx ′dy ′ = I ,
(4)
S
based on the fact that the sum of the current density, represented by the surface integral of the current density over the cross section of the conductor, must be equal to the total current I carried by the conductor. Equations (2′) and (4) are the coupled integral equations to be solved for the unknown current density J z and the source current density J sz (a constant).
=0
i = 1, 2,...... K , (5) which has taken into account the proximity effect among the K conductors, and
J z (x , y ) = J sz − j ωσ ∫∫ J z (x ′, y ')G (x , y, x ′, y ′)dx ′dy ′ , (2)
in which G is the free-space two-dimensional Green’s function and
isz
Sj
S2
Ii
IK
I2
Fig. 2 Cross section of K conductors carrying currents I1, I2, ……IK.
III. NUMERICAL SOLUTION OF THE COUPLED INTEGRAL EQUATIONS The coupled integral equations (2’) and (4) formulated for a single conductor; and equations (5) and (6) for multiple conductors are solved numerically employing the Method of Moments (MoM) [12]. As the first step of the MoM solution procedure, we divide a conductor into N small segments, where N is selected to be a sufficiently large number, making the segments small enough so that the current in each segment can be considered as invariant. The nth segment (n = 1, 2, ……N) is of cross sectional area Sn. Then, the unknown current density is expanded as J z (x , y ) =
N
∑J
n
Πn ,
(7)
n =1
in which the pulse function is defined by 1, within Sn Πn = . 0, otherwise
(8)
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Xiao-Bang Xu: An Integral Equation Approach for Solving Skin Effect Problems
62
Substituting equation (7) into equations (2′) and (4), and then point-matching at the segment centers convert these two equations to N
∑J Z n
mn
− J sz = 0
,
m = 1, 2, "N ,
(9)
n =1
and N
∑S J n =1
n
n
=I.
(10)
In equation (9), Z mn =
−j ωµσ 2π
∫∫ ln( Sn
2
2
γ(k 0 (x − x ') + (y − y ') ) )dx ′dy ′ + δmn 2
,
(11)
where 1 δmn = 0
,
m =n
,
m ≠n .
(12)
The integral term on the right hand side of equation (11) can be evaluated numerically employing a Gaussian quadrature scheme. For convenience of computer implementation, we rewrite equations (9) and (10) in matrix form as Z Z12 11 Z 21 Z 22 # # Z N 1 Z N 2 S S2 1
"
Z1N
" Z 2N " Z NN "
SN
−1 J 1 0 −1 J 2 0 # ⋅ # = # −1 J N # 0 J sz I
(
,
where the matrix element Z mn m = 1, " N , n = 1", N
(13)
)
[ Z mn ]11 [ Z mn ]21 ...... [Z ] mn i1 ...... ...... [ Z ] mn N1 1
...... ...... ......
[ Z mn ]1 j [ Z mn ]2 j
......
...... [ Z mn ]ij
...... ...... ......
...... ...... [ Z mn ]N
1j
...... ...... ...... ...... ...... ...... ......
J 1 0 ...... ...... J N 0 [ Z mn ]1N1 (9) J sz 1 I1 ....... ...... [ Z mn ]2 N J 0 1 ...... ...... ...... [ Z mn ]iN1 J N = 0 ...... J sz I j j ...... ...... ...... [ Z mn ]N1N1 J 0 1 ...... ...... J N 0 J sz I N1 (12) N1
i = 1, 2, ……, K, j = 1, 2, ……, K,
(14)
in which the elements of the sub-matrix [ Z mn ]ij can be found from equation (11) where the field point (x, y) is in the mth segment of the ith conductor and the source point ( x ', y ') is in the nth segment of the jth conductor. Solving the matrix equation, the current density in each segment of every conductor can be obtained. Then, multiplying the current (13) density with the cross sectional area for each segment, the current distribution in each conductor can be determined. IV. RESULTS AND DISCUSSION
can
be found from equation (11). Solving this matrix equation, the current density Jn can be obtained. Then, the current distribution in each segment can be found as the product of the current density multiplying with the cross section area of the segment Sn. Going through a similar procedure of the pulse expansion and point matching, the 2K coupled integral equations (5) and (6) formulated for K conductors can be converted to a matrix equation as
As a practical example, the MoM numerical solution for the coupled integral equations presented in the previous section is employed to determine the uneven current distribution in the conductors of a power plant switch, which suffered from an overheating problem. Sample numerical results are presented for the non-uniform current flowing in a stationary blade and that in contact shoes (fingers) of the switch. To verify the convergence of the numerical solution procedure, numerical tests have been performed. The results of the numerical tests confirm that the number of segments used for the stationary blade and the number of sub-segments used for the contact shoes are sufficient. Fig. 3 shows the current density variation over the cross section of a stationary blade in a power plant switch. The total current in the stationary blade is 9,500A and the blade is of cross sectional area 0.533m × 0.0159m = 0.00847m 2 . One observes, from Fig. 3, that the current density is quite high at the edges and is the lowest in the center. In particular, one note that the current density at the edges is about 7 × 106 A / m 2 that is almost seven times higher than the “average” current 9,500 A = 1.12 × 106 A / m 2 if the density calculated by 0.00847m 2 current were uniformly distributed. Fig. 4 presents the current in each of twelve contact shoes (fingers) of the switch. The
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Xiao-Bang Xu: An Integral Equation Approach for Solving Skin Effect Problems
63
total current carried by the contact shoes is 4,750A; each of the contact shoes is of cross sectional area 0.0317m × 0.0476m = 0.0015m 2 , and the two adjacent ones is separated by a distance of 0.0032m. Again, one sees, from Fig. 4, that the currents in the contact shoes at the edges (elements 1 and 12) are about three times higher than that in the center shoes (elements 6 and 7). And the current in the contact shoes at the edges (elements 1 and 12) is about 780A, which is much higher than the “average” current 4,750 A = 396 A per element. 12
equations for a single conductor of arbitrary shape and that for multiple conductors are derived, and a numerical technique based on MoM is developed for solving the integral equations. The advantage of employing the integral equation method for solving open-boundary skin effect problems is that the radiation condition has already been incorporated in the Green’s function in the integral equation, so that it does not require a fictitious truncation boundary to satisfy the radiation condition, no approximation is to be made for the open boundary, nor iterative procedure is needed. As an example, sample numerical results for the uneven current distribution in a stationary blade and contact shoes of a power plant switch are presented and discussed. The quantitative information of the non-uniform current distribution in conductors, obtained by employing the integral equation approach, is expected to be useful for proper design and protection of electric equipments. REFERENCES
Fig. 3 Current density in a stationary blade in a power plant switch.
Fig. 4. Current in twelve contact shoes (fingers) in a power plant switch.
V. CONCLUSIONS An integral equation approach is developed for solving the skin effect problems in electric equipments. Coupled integral
[1] P. Silvester, “Modal network theory of skin effect in flat conductors,” Proceedings of the IEEE, Vol. 54, No. 9, pp. 1147 – 1151, September 1966. [2] P. Silvester, “Skin effect in multiple and polyphase conductors,” IEEE Transactions on Power Apparatus and Systems, Vol. pas-88, No. 3, pp. 231 – 238, March 1969. [3] M.V. K. Chari and Z.J. Csendes, “Finite element analysis of the skin effect in current carrying conductors,” IEEE Transactions on Magnetics,” Vol. mag13, No. 5, pp. 1125- 1127, September 1977. [4] A. Konrad, “The numerical solution of steady-state skin effect problems – an integrodifferential approach, IEEE transactions on Magnetics, Vol. mag-17, No. 1, pp. 1148 – 1152, January 1981. [5] A. Konrad, “Integrodifferential finite element formulation of two dimensional steady-state skin effect problems,” IEEE Transactions on Magnetics, Vol. mag-18, No. 1, pp. 284 – 292, January 1981. [6] J. Weiss and Z.T. Csendes, “A one-step finite element method for multiconductor skin effect problems,” IEEE Transactions on Power Apparatus and Systems, Vol. pas-101, No. 10, pp. 3796-3803, October, 1982. [7] H.F. Brauer Jr., “Surface integrals on 3D and 2D finite element models for skin effect excitations and open boundaries,” IEEE Transactions on Magnetics, Vol. 28, No. 2, pp. 1659 – 1662, March 1992. [8] G. Aiello, S. Alfonzetti, S. Coco, and N. Salerno, “Treatment of unbounded skin-effect problems in the presence of material inhomogeneities,” IEEE Transactions on Magnetics, Vol. 31, No. 3, pp. 1504 - 1507, May 1995. [9] G. Aiello, S. Alfonzetti, G. Borzi, and N. Salerno, “An improved solution for open-boundary skin effect problems,” IEEE Transactions on Magnetics, Vol. 37, No. 5, pp. 3474 - 3477, September 2001 [10] S. Alfonzetti, G. Borzi, and N. Salerno, “A fast solving strategy for two-dimensional skin effect problems,” IEEE Transactions on Magnetics, Vol. 39, No. 3, pp. 1119 - 1122, May 2003. [11] X.-B. Xu, G. Liu and P. Chow, “A finite-element method solution of the zero-sequence impedance of underground pipe-type cable,” IEEE Transactions on Power Delivery, Vol. 17, No. 1, pp 13-17, January 2002. [12] R. F. Harrington, Field Computation by Moment Method, Robert E. Krieger Publishing Company, 1982. [13] M. Adramowitz and I.A. Stegun, Handbook of Mathematical Functions, Dover Publications, Inc., 1972. Xiao-Bang Xu received the Electrical Engineering degree from Tsinghua University, Beijing, China in 1968 and the Ph.D. degree in electrical engineering from the University of Mississippi in 1985. In 1985, he was a lecturer at the University of Houston and then joined the Holcombe Department of Electrical and Computer Engineering of Clemson University, where he is currently a Professor. His research interests are in electromagnetic theory and numerical analysis of electromagnetics. Dr. Xu is a senior member of IEEE, a member of the Electromagnetic Academy, and a member of Phi Kappa Phi.
Regular Paper Original Contribution 64
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Oleg Gomzikov et al.: QoS Guarantee with Adaptive Scheduling Method
QoS Guarantee with Adaptive Scheduling Method Oleg Gomzikov1, Timo H¨am¨al¨ainen2, and Jyrki Joutsensalo2 1
Nokia-TP-MSW Tampere, FINLAND 2 Department of Mathematical Information Technology University of Jyv¨askyl¨a Jyv¨askyl¨a, FINLAND Emails:
[email protected],
[email protected],
[email protected]
A BSTRACT This paper presents an adaptive scheduling and call admission control model for the revenue maximization. The algorithm shares limited resources to different traffic flows in a fair way, and at the same time it maximizes the revenue of the service provider. Used algorithm is derived from the linear type of revenue target function, and closed form globally optimal formula is presented. The method is computationally inexpensive, while still producing maximal revenue. Due to the simplicity of the algorithm, it can operate in the highly nonstationary environments. In addition, it is nonparametric and deterministic in the sense that it uses only the information about the number of users and their traffic flows, not about call density functions or duration distributions. One possible implementation target to the algorithm could be justify it to work with IEEE 802.11e. I. I NTRODUCTION Two well-known scheduling algorithms are the packet-bypacket generalized processor sharing (PGPS) ([10]) and the worstcase fair weighted fair queueing (W F 2 Q) ([1]). The queueing disciplines such as PGPS and W F 2 Q are based on a timestamp mechanism to determine the packet service sequence. The timestamp mechanism for all packets, however, entails implementation complexity. If a fixed length packet is used, the implementation complexity due to the timestamp mechanism can be reduced, in which a round robin discipline such as the weighted round robin (WRR) could be used. Although simple to implement by avoiding the use of timestamp mechanism, the WRR has a larger delay bound. To solve this problem, several modification approaches of the WRR have been proposed. As seen in [9] and [2], the uniform round robin (URR) discipline and the W F 2 Q interleaved WRR discipline emulate the W F 2 Q to determine the packet service sequence. These scheduling disciplines result in a more uniform packet departure and a smaller delay bound than those provided by conventional round robin. Extension to WRR algorithm for fixed length packets is studied in [4]. They present an scheduling algorithm for fixed length packets that does not emulate the WF2Q. As the timestamp mechanism is not necessary, the proposed algorithm can be implemented
with a low complexity and low processing delay for high speed networks. Our research differs from the above studies by linking pricing and queuing issues together; in addition our model does not need any additional information about user behavior, utility functions etc. (like most pricing and game-theoretic ones need). This paper proceeds our previous pricing and QoS research [6], [5], [7] by taking into account fast closed form WRR algorithm in the scheduler. Revenue aware WRR scheduling algorithm is investigated in the single node case, and it is derived from the Lagrangian optimization problem. The rest of the paper is organized as follows. In Section 2, pricing scenario is presented and generally defined. Closed form WRR algorithm is derived in Section 3; in addition, some upper bounds are presented in this section. Section 4 contains experimental part justifying theorems. Discussions are made in Section 5, and final section contains conclusions of the work. II. P RICING
SCENARIO
Here the pricing scenario is presented in the simplified form. First some parameters and notations are defined and commented. Let d0 be the minimum processing time of the classifier for transmitting data from one queue to the output. For simplicity it is assumed that the data packets have the same size b. Therefore their size can be scaled to b = 1. Extensions to the variable packet sizes do not need essential modifications to the main theory. The number of service classes is denoted by m. Literature usually refers to the gold, silver, and bronze classes; in this case, m = 3. In each queue, sub-queues can be defined due to the different insertion delays, transmission delays etc. of the different packets in the same queue. However, this is also straightforward extension to our scenario, and therefore it is beyond the scope of this study. It has only the effect on the computational complexity. In WRR, real processing time (delay) for class i in the packet scheduler is di = Ni d0 /wi , (1) where wi (t) = wi , i = 1, . . . , m are weights allotted for each class, and Ni (t) = Ni is a number of customers in the ith queue. Here time index t has been dropped for convenience.
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Oleg Gomzikov et al.: QoS Guarantee with Adaptive Scheduling Method
65
The natural constraint for the weights are wi > 0,
m X
wi = 1.
(2)
i=1
Without loss of generality, only non-empty queues are considered, and therefore wi 6= 0, i = 1, . . . , m. If some weight is wi = 1, then m = 1, and the only class to be served have the minimum processing time d0 , if Ni = 1. For each service class, a revenue or pricing function ri (di ) = ri (Ni d0 /wi + ci )
(3)
(euros/minute) is non-increasing with respect to the delay di . Here ci (t) = ci includes insertion delay, transmission delay etc., and here it is assumed to be constant (therefore above-mentioned sub-queue systems are not considered here). Our study concentrates to the case of the simplest functions, namely linear pricing functions. Linear pricing algorithms may perhaps also be used as building blocks for developing e.g. piecewise linear pricing models. III. R EVENUE
MAXIMIZATION ALGORITHM
One user in class i pays ri (di ) money units to the service provider according to the pricing function. Because there are Ni customers in the queue i, the total price paid by the ith class customers in unit time step (euros/minute) is Ni ri (Ni d0 /wi + ci ). Because there are m classes, the revenue criterion to be maximized has the form F (w1 , . . . , wm ) =
m X
Ni ri (Ni d0 /wi + ci )
(4)
i=1
under weight constraint (2). Without loss of generality, set d0 = 1. As a special case, consider linear revenue model. Definition 1: The function ri (t) = −ri t + ki ,
i = 1, . . . , m,
(5)
ri > 0,
(6)
ki > 0,
(7)
is called linear pricing function. Using Eqs. (3), (4) and (5), we define the revenue F for linear pricing functions by Lagrangian as follows: F
=
F (w1 , . . . , wm ) =
m X i=1
+ =
λ(1 − −
m X
i=1
Ni (−ri
Ni + ki ) wi
wi
+
m X i=1
rl Nl2 ∂F − λ = 0. = ∂wl wl2
Ni ki + λ(1 −
m X
(10)
It follows that λ=
rl Nl2 , wl2
leading to the solution √ ri Ni wi = √ , λ
l = 1, . . . , m,
i = 1, . . . , m.
Substituting the scaling factor (2) m m √ X X rl Nl √ =1 wl = λ l=1 l=1
(11)
(12)
(13)
to the denominator of Eq. (12), the closed form solution is obtained as follows: √ r N √ √i i ri Ni wi = Pm λ√r N = Pm √ . (14) rl Nl √l l l=1 l=1
λ
Because r1 > 0, Ni > 0, it is seen from (14) that Pm √ rl Nl 1 l6=i =1+ ≥ 1. √ wi ri Ni
(15)
So 0 < wi ≤ 1.
(16)
To prove that this is the only solution in the interval 0 < wi ≤ 1, wePconsider second order derivative of F . Due to the constraint m l=1 wl = 1, one obtains from Eq. (11) λ = =
m X
l=1 m X
λwl =
m X rl N 2 l
l=1
wl2
wl m
X rl Nl2 = −F + Ni ki . wl i=1
(17)
The right hand side term follows from the fact that the Pm penalty λ(1 − wi ) vanishes in (8), when the constraint i=1 Pm l=1 wl = 1 is satisfied. Solving λ out from Eq. (10) using Eq. (17), one obtains an expression
wi ) i
and it is unique in wi ∈ (0, 1]. Proof: Set partial derivatives of F in Eq. (8) to the zero:
l=1
i=1
m X ri N 2
Theorem 1: For linear pricing functions, the maximum of F is achieved by using the weights √ ri Ni wi = Pm √ , (9) rl Nl l=1
m
wi ).
(8)
i=1
Here the constants ci have been dropped out for convenience. Theorem of closed form solution for optimal weights is as follows:
∂F rl Nl2 rl Nl2 X ri Ni2 = −λ= − 2 ∂wl wl wl2 wi
(18)
l=1
to the first order derivative. Then second order derivative is ∂2F 2 1 −2 + wl 2 = rl Nl − 3 + 2 = rl Nl2 < 0, (19) 2 ∂wl wl wl wl3
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Oleg Gomzikov et al.: QoS Guarantee with Adaptive Scheduling Method
66
because rl > 0, Nl > 0, and wl ∈ (0, 1]. Therefore, F is strictly concave in the interval 0 < wi ≤ 1, having one and only one maximum. This completes the proof. Q.E.D. An upper bound for revenue F is obtained: Theorem 2: m X F < Ni ki . (20) i=1
Proof: Due to the constraint F =
m X i=1
Ni ki −
Pm
l=1
wl = 1 in Eq. (8),
m X ri N 2 i
i=1
wi
F˜ (t), then call is rejected, otherwise it is accepted. Computational complexity of the algorithm is as follows. When no calls or droppings happen, weights are not adjusted. When call appears O(m) multiplications and additions are performed, as seen from Eq. (22). IV. E XPERIMENTS In all the experiments, calls and durations are Poisson and exponentially distributed. In addtition, number of classes is m = 3. Call rates per unit time for gold, silver, and bronze classes are α1 = 0.1, α2 = 0.2, and α3 = 0.3, respectively. Duration parameters (decay rates) are β1 = 0.010, β2 = 0.007, and β3 = 0.003, where probability density functions for durations are , i = 1, 2, 3, t ≥ 0.
(30)
Experiment 1. In the first experiment, three service classes have pricing functions
i=1
Q.E.D. From Eq. (24), one possible constraint in the CAC mechanism is obtained, namely m X
F˜ (t + 1) = −
!2
fi (t) = βi e−βi t ,
i=1
l=1
i=1
i=1
is obtained, because ri > 0, Ni > 0, and wi > 0. Q.E.D. Analytical form to the revenue can be expressed solving weights wi out: Theorem 3: When optimal weights wi are used according to Theorem 1, revenue is !2 m m X X √ F =− Ni ki . (22) ri Ni + i=1
Proof: Proof is given in [8]. Interpretation of (27) is quite obvious: ki increases upper limit, while ri decreases it. Call Admission Control mechanism can be made by simple hypothesis testing without assumptions about call or dropping rates. Let the state at the moment t be Ni (t), t = 1, . . . , m. ˜i (t + 1), Let the hypothetical state at the moment t + 1 be N t = 1, . . . , m, when one or several calls appear. In hypothesis testing, Theorem 3 is applied as follows: !2 m m X X √ ri Ni (t) + Ni (t)ki . (28) F (t) = −
1 ki ⌋, 2 ri
i = 1, . . . , m,
(26)
where y = ⌊x⌋ denotes maximum integer y satisfying y ≤ x. Proof: Proof is given in [7]. Next another upper bound for revenue is presented: Theorem 5: In the case of linear pricing model, upper bound for revenue is m
1 X ki2 F ≤ . 4 i=1 ri
(27)
r1 (t) = −5t + 200
(31)
r2 (t) = −2t + 100
(32)
for gold class, for for silver class, and r3 (t) = −0.5t + 50
(33)
for bronze class. Number of users Ni (t) are shown in Fig. 1. Due to the arrival and duration rates, number of users is lowest in gold class, while number of users is largest in bronze class. Solid, dashed, and dash-dotted lines show upper bounds of the different buffers according to the Theorem 4. However, because CAC mechanism is not used, and Ni (t) may be are larger than the upper bounds. Ni (t) achieves the theoretical value αi E[Ni (t)] = (34) βi stated in Little’s Theorem, i.e. α1 /β1 = 10, α2 /β2 ≈ 29, α3 /β3 = 100. In Fig. 2, revenue as well as two upper bounds are shown. Lowest curve (solid) is the revenue achieved by
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Oleg Gomzikov et al.: QoS Guarantee with Adaptive Scheduling Method
67 100
9000
90
8000
80
7000
70
revenue
number of users
6000 60
50
5000
4000
40
3000 30
2000
20
1000
10
0
0
500
1000
1500 time
2000
2500
0
3000
0
500
1000
1500 time
2000
2500
3000
Fig. 1. First experiment with no call admission control. Number of users as a function of time. Horizontal axis: time. Vertical axis: number of users. Solid, dashed, and dash-dotted curves correspond to gold, silver, and bronze class, respectively. Lines are upper bounds for buffer sizes.
Fig. 4. First experiment with call admission control. Revenue as a function of time. Horizontal axis: time. Vertical axis: revenue. P Lowest curve: realized middle curve (dashed): upper bound N k ; solid line: P revenue; i i i 2 /r . 0.25 k i i i
the closed form method with no CAC.PIt becames negative. Dashed curve show the upper limit i Ni ki as stated in Theorem 2, and the solid line illustrates the upper bound of Theorem 5, and it is constant due to the invariance of ri and ki in that experiment. The experiment is continued by using
tions are r1 (t) = −10t + 200
(35)
r2 (t) = −4t + 100
(36)
for gold class, for for silver class, and
4
x 10
r3 (t) = −t + 50
2
1.5
revenue
0
−0.5
−1
−1.5
−2 0
500
1000
1500 time
2000
2500
3000
Fig. 2. First experiment with no call admission control. Revenue as a function of time. Horizontal axis: time. Vertical axis: revenue. P Lowest curve: realized middle curve (dashed): upper bound N k ; solid line: P revenue; i i i 0.25 k 2 /ri . i i
CAC mechanism. The parameters remain the same. Figures 3, and 4 show number of users, and revenues, respectively. It is noticeable, that the upper bounds are larger than the realized number of users, as well as revenue, and what is important, revenue is now positive, as seen from Fig. 4.
for bronze class, i.e. penalty coefficients ri are larger than in the first experiment. Figures 5 and 6, show number of users, and revenue, respectively, for the algorithm that does not use CAC mechanism. The traffic profiles remain the same, i.e. the number of users Ni (t) are same due to the lack of the CAC mechanism, as seen by comparing Figs. 1 and 5. However, upper limits change. Revenue remains negative, and it is smaller than in the experiment 1, as seen by comparing figures 2 and 6. The reason that the penalty factor ri is now larger. Figures 7 and 8, show number of users, and revenue, 200
150
number of users
1
0.5
100
50
0
100
(37)
0
500
1000
1500 time
2000
2500
3000
90
80
Fig. 5. Second experiment with no call admission control. Number of users as a function of time. Horizontal axis: time. Vertical axis: number of users. Solid, dashed, and dash-dotted curves correspond to gold, silver, and bronze class, respectively. Lines are upper bounds for buffer sizes.
number of users
70
60
50
40
30
20
10
0
0
500
1000
1500 time
2000
2500
3000
Fig. 3. First experiment with call admission control. Number of users as a function of time. Horizontal axis: time. Vertical axis: number of users. Solid, dashed, and dash-dotted curves correspond to gold, silver, and bronze class, respectively. Lines are upper bounds for buffer sizes.
Experiment 2. In the second experiment, the pricing func-
respectively, for the algorithm that does use CAC mechanism. Number of users as well as revenue are below upper limits, and revenue becomes smaller, as seen by comparing solid curves of Figs. 4 and 8. V. D ISCUSSION AND F UTURE W ORK A. Properties of the Closed Form WRR Here, we present conclusions from our approach as well as experiments. Also some future topics as discussed. The
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Oleg Gomzikov et al.: QoS Guarantee with Adaptive Scheduling Method
68 4
4500
x 10 2
4000 1
3500 0
3000
revenue
revenue
−1
−2
2500
2000
−3
1500 −4
1000 −5
500 −6 0
500
1000
1500 time
2000
2500
3000
Fig. 6. Second experiment with no call admission control. Revenue as a function of time. Horizontal axis: time. Vertical axis: revenue. P Lowest curve: realized middle curve (dashed): upper bound N k ; solid line: P revenue; i i i 2 /r . 0.25 k i i i
0
0
500
1000
1500 time
2000
2500
3000
Fig. 8. Second experiment with call admission control. Revenue as a function of time. Horizontal axis: time. Vertical axis: revenue. P Lowest curve: realized middle curve (dashed): upper bound N k ; solid line: P revenue; i i i 2 /r . 0.25 k i i i
50
VI. C ONCLUSIONS
45
40
number of users
35
30
25
20
15
10
5
0
0
500
1000
1500 time
2000
2500
3000
Fig. 7. Second experiment with call admission control. Number of users as a function of time. Horizontal axis: time. Vertical axis: number of users. Solid, dashed, and dash-dotted curves correspond to gold, silver, and bronze class, respectively. Lines are upper bounds for buffer sizes.
conclusions are as follows. We have analytically shown that in the case of linear pricing scenario, revenue has unique maximum in the WRR weight interval wi ∈ (0, 1]. Proof was based on the closed form solution of the weights as well as concavity of the revenue function in the interval wi ∈ (0, 1]. The proposed weight updating algorithm is computationally inexpensive in our scope of study. Experiments clearly justify the performance of the algorithm. For example, theorems for upper bounds hold, and revenue curves are positive. Some of the statistical and deterministic algorithms presented in the literature assume quite strict a priori information about parameters or statistical behavior such as call densities, duration or distributions. However, such methods usually are in addition to computationally complex - not robust against erroneous assumptions or estimates. On the contrary, our algorithm is deterministic and non-parametric, ie. it uses only the information about the number of customers, and thus we believe that in practical environments it is comptetitive candidate due to the robustness. Also, Call Admission Control (CAC) mechanism can be used in the context of the algorithm. It is based on the hypothesis testing, and is computationally quite simple. This is one of our future research. General conclusion is that the linear pricing scenario is quite simple, perhaps temptating and practical. However, we believe that more practical pricing scheme should be based on piecewise linear model. Studies to that direction are made. Especially flat pricing scenario is interesting topic of study.
In this paper, we introduced a closed form WRR algorithm, which was derived from revenue target function by Lagrangian optimization approach. The experiments demonstrated the revenue maximization ability of the WRR algorithm, while still allocating delays in a fair way. In the future work, multinode case is investigated. It is important to develop such a distributed approximation, which does not suffer the curse of dimensionality and computational complexity of the optimal global approach. Others than strictly linear pricing models are studied. R EFERENCES [1] J. C. R. Bennett and H. Zhang, WF2Q: Worst-case Fair Weighted Fair Queueing, INFOCOM96, 1996. [2] H. M. Chaskar and U. Madhow, Fair Scheduling with Tunable Latency: A Round Robin Approach, Globecom99, pp.1328-1333, 1999. [3] A. Demers, S. Keshav, and S. Shenker, Analysis and Simulation of a fair queueing algorithm, IEEE SIGCOM89, pp.1-12, 1989. [4] Jong-Seon Kim; Lee, D.C., Weighted round robin packet scheduler using relative service share, Military Communications Conference, 2001. MILCOM 2001. Communications for Network-Centric Operations: Creating the Information Force. IEEE , Vol.2 , 2001, pp. 988-992. [5] T. H¨am¨al¨ainen and J. Joutsensalo, ”Link Allocation and Revenue Optimization for Future Networks”, Proceedings of IEEE Globecom 2002, November 2002, Taiwan. [6] J. Joutsensalo and T. H¨am¨al¨ainen, “Optimal Link Allocation and Revenue Maximization”, Journal of Communications and Networks, Vol. 4, No. 2, June 2002, pp 136-147. [7] J. Joutsensalo, T. H¨am¨al¨ainen, Mikko P¨aa¨ kk¨onen, and Alexandr Sayenko, Adaptive Weighted Fair Scheduling Method for Channel Allocation, Proc. IEEE ICC 2003, Anchorage, Alaska, 2003. [8] J. Joutsensalo, T. H¨am¨al¨ainen, and Alexandr Sayenko, Quality of Service and Revenue Maximization with Iterative WFQ, Proc. ICT 2003, Bangkok, Thailand 2003. [9] N. Matsufuru and R. Aibara, Efficient Fair Queueing for ATM Network using Uniform Round Robin, INFOCOM99, pp389-397, 1999. [10] A. K. Parekh and R. G. Gallager, A Generalized Processor Sharing Approach to Flow Control in Integrated Services Networks: The Single Node Case, IEEE/ACM Transactions on Networking, vol. 1, no. 3, June 1993, pp. 344-357.
Tutorial Paper 69
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Eniko Madarassy: ”I grew up with the belief that the truth is simple, one must only find it”
”I grew up with the belief that the truth is simple, one must only find it” Edward Teller
By: Eniko Madarassy
I. About Edward Teller Edward Teller died on September 9th, 2003 when he was 95. He was one of the great physicists of the 20th century. He dedicated his life to science, education and national security in such a controversial century. “Dr. Teller lived a spectacular life on the scale of legend.” (Bruce Goodwin, Associate Director, Lawrence Livermore National Laboratory) “He was a passionate advocate for science and the development of L.L.N.L.. He devoted his life to preserving freedom, pursuing new knowledge and passing along his passion for science and engineering education to students of all ages.” (Michael Anastasio, Director, Lawrence Livermore National Laboratory) “Edward was a treasure at the Hoover Institution. Throughout his time at Hoover, he was a brilliant, interesting, though-provoking, collegial, and incredible institutional citizen.” (John Raisian, Director, Hoover Institution) “Another little-known side of Edward was his charm - especially with women and children….” (Sig Hecker, former Director, Los Alamos National Laboratory)
Teller was a fellow of the American Physical Society and the American Nuclear Society, moreover a member of the National Academy of Sciences, the American Academy of Science and the Advisory Board of the Federal Emergency Management Agency. In addition, he was on the White House Science Council. Teller was an associate of the Scientific Advisory Board of the U.S. Air Force and was chairman of the first Nuclear Reaction Safeguard Committee. From 1956 to 1958, he worked as a member of the General Advisory Committee of the U.S. Atomic Energy Commission. Teller received numerous honours, for example: the Presidential Medal of Freedom, the Albert Einstein Award, the Enrico Fermi Award, the National Medal of Science, the Presidential Citizens Medal, the Department of Energy Gold Award, A Magyarsag Hirneveert Dij, the Harvey Prize from the Technion-Israel Institute, the Corvin Award from Hungary, etc. Books written by Edward Teller include: Energy from Heaven and Earth (W.H. Freeman, 1979), Pursuit of Simplicity (Pepperdine Press,1980), Better a Shield Than a Sword (Free Press,1987), Conversations on the Dark Secrets of Physics (Plenum Press, 1991), A Twentieth-Century Journey in Science and Politics (written with Judith Shoolery,2001), etc.
Teller was born on the 15th January, 1908 in Budapest. He undertook his studies at the upper secondary school which was founded by Mór Kármán, whose son was the famous rocket scientist Theodore von Karman.
70
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Eniko Madarassy: ”I grew up with the belief that the truth is simple, one must only find it”
He undertook his academic training in Germany and studied for his Ph.D. in physics under Werner Heisenberg at the University of Leipzig in 1930. After leaving Leipzig for the University of Gottingen, Teller continued his close relationship with Heisenberg. In Gottingen he collaborated from 1930 to 1933 as a research associate. When Hitler rose to power in January 1933, Teller left Germany, going first to the Institute for Theoretical Physics in Copenhagen for a year and then from 1934-5, he worked as a lecturer at the City College of London. In Copenhagen he met his friend George Gamow, who invited him to work at the University of George Washington. In 1935, Teller came to the United States with his wife and he became a US citizen in 1941. Many famous universities in the USA competed for him. In 1942 he worked together with Enrico Fermi at Columbia University. He witnessed the development of the theory of relativity and quantum mechanics. His early work concentrated on applying this new quantum theory to explain diverse phenomena. The person who developed the initial concept of the atom bomb was Szilard. The project was started by a letter, written by Leo Szilard (and maybe Eugen Wigner) and addressed to president F. D. Roosevelt. On the second of August 1939 Einstein signed the letter. At this historical moment Edward Teller was present too. In 1942, Teller joined the Manhattan Project. He was busy with research on fusion reaction, theoretical calculations of the effects of a fission explosion and work on the first nuclear reactor during the Second World War. In 1943, at Los Alamos Scientific Laboratory he examined, together with some others, the possibilities for thermonuclear power. The father of the Manhattan Project, Robert Oppenheimer, who devised the first atomic bomb together with others, was there as well.
Teller supported the hydrogen bomb against the opposition of J. Robert Oppenheimer. In 1954, during the commission’s hearing about Oppenheimer’s security clearance, Teller attested that he regarded Oppenheimer loyal to the United States. Teller’s well-known statement was: “I would prefer to see the vital interests of this country in hands that I understand better and therefore trust more”. This statement was regarded as an intolerable insult to ethics by the majority of the American scientific society; therefore Teller was not accepted forever. Many scientists considered Edward Teller as a controversial figure because of his idea about nuclear weapons and national security. Teller recognized that the state’s security and civil defence meant an application of science and technology. The competition between the United States and the Soviet Union resulted in the birth of the controversial weapon, the superbomb. After becoming a professor at the University of Chicago (1946-52), he returned to the Los Alamos Scientific Laboratory and became assistant director (1949-52). In 1952 the nation’s second Institute for the Development of Weapons was founded in Livermore: the Livermore Radiation Laboratory. Between 1954 and 1958, Teller was a consultant and cofounder to the institute and, for more than two years its associate director. Between 1958-60 he again became the director of the Lawrence Livermore Laboratory. He worked as a professor of physics at the University of California (1960-70) and as an associate director of the Lawrence Livermore Laboratory until his retirement in 1975. Teller worked on nuclear weapons, nuclear reactor safety, ballistic missiles, submarines, underground nuclear testing, future energy sources and much else. Between 1970 and 1975 Teller was a university professor at the University of California and from 1975 to 2003 the Director emeritus of the Lawrence
71
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Eniko Madarassy: ”I grew up with the belief that the truth is simple, one must only find it”
Livermore National Laboratory. He was also senior research fellow of the Hoover Institution, Stanford University. He continued, even to his very last day, to spend two days a week in the LLNL. His greatness can be measured by his influence on people. His enthusiasm and passion together with his hopefulness for the future had an impact on science and on many scientists who collaborated with him and were influenced by him.
II. My meeting with Dr. Edward Teller in 2002
The environment there inspired me and I began to correspond with “the living legend”, Edward Teller. After some letters I received a personal invitation to his residence in Palo Alto. I met him with my husband on the 14th Jan 2002, one day before his 94th birthday. Edward Teller was a member of the group called “The Martians”, so nicknamed because they were thought to possess extraterrestrial intelligence and had a Magyar accent. They were: Theodore von Karman, Leo Szilard, Eugene Wigner, John von Neumann and Teller himself. They grew up in Budapest in the fifth district and after secondary school they went to Germany and later to the U.S.A. “There were so many brilliant Hungarian scientists that their colleagues at Los Alamos reached the conclusion that they possessed extraterrestrial intelligence and therefore were really agents from another planet. Quite commonly, Teller, Szilard, Wigner, von Kármán, and von Neumann were referred to as ‘The Martians’ “. Energy and Conflict - The Life and Times of Edward Teller by Stanley A. Blomberg, Gwinn Owens 1976.
About 10 years ago I took part in a series of lectures in Budapest and among the lecturers was Dr. Edward Teller.
We began our discussion by speaking about Edward Teller’s parents. He got his determined and persevering character from his father, who was a lawyer, while his artistic effort and his enthusiasm for poetry and classical music (Mozart, Bach, Beethoven, etc.) came from his fragile mother Ilona Deutsch.
His captivating personality with his special logic, formidable intellect, and his enormously intuitive power fascinated me. I was a pupil in grade 8 when I read about him for the first time in the book: “Heller als tausend sonnen….(Ezer napnàl tündöklöbben....)” written by Robert Jungk. Later, I entered the FysikumVetenskapslaboratorium (University of Stockholm) and my supervisor was Prof. Erik Johansson.
She hoped that he would become a famous pianist. Already in his childhood the romantically poetical “self” of Edward Teller began to develop, together with his sensitivity for art. In his words: “The man has two poles: his brain and his heart.” If he had chosen music he would certainly have reached a similar success. His persistent character together with his talent would have helped him on the same way as it did in both physics and mathematics.
72
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Eniko Madarassy: ”I grew up with the belief that the truth is simple, one must only find it”
Teller told me that he fell in love with the world of numbers and figures at the early age of six, and with conscious encouragement from his parents he continued his mathematical studies. This study resulted in friendship with another great mathematician John von Neumann. It was von Neumann, who had a great gift for solving difficult problems and we are indebted to him for his part in developing computers. Teller told me about the tragic fight John von Neumann had with cancer, which attacked the part of his body that was the most important for him – his brain. During this time Edward Teller often visited his old friend, who needed medical treatment. They had previously worked together. von Neumann was one of the best at preparing instructions. He helped with the small details which meant a great deal for the others and for the whole project in Los Alamos. Teller learnt a lot from him. So we came onto the topic of teaching. Teller was a great physics teacher and mentor. We discussed the secret of how to be “a good teacher”. Teller was known to be a legendary lecturer and was very popular with the students. He participated in several programs for high school and elementary school students to inspire their interest in science. His advice for us about an excellent teacher: “If the teacher likes his or her occupation and is interested in the subject matter then he or she can convey it well.” “A good teacher is someone who can share the latest breakthroughs in science with his or her students.” “A good teacher is someone who can transfer the love he or she has for the subject to students.” Maybe this thing explain the mystery of the schools from Gottingen and Copenhagen. One of the questions was: “How does a talented researcher or scientist become successful?”
He answered: “Because he or she loves science, because he or she is willing to think over and consider new things. The fundamental point is that he or she is curious, from which new things can emanate. Research itself is neither good nor bad, everything depends on how it is used.” The purpose and the deep motivation of Teller were always to understand the world. His scientific activity stemmed from a continuous curiosity: “I have always had only one wish – to find out how the world is made up.” In the scientific world it has always been difficult to accept new concepts and ideas but sometimes it is necessary. Research students generally use the experience of their Masters to further their knowledge and this can sometimes be a disadvantage. “A qualitative change or revolution in science will be realized by people who dare to think in a different way.” During our conversation we philosophised on conception being like multidimensional space and matter. In the course of his long life Teller had the chance to meet many celebrated persons. We talked about some of them. It is a generally well-known fact, according to Niels Bohr that an experienced person is one who familiarises himself with all frequent faults in his area through his instructive experiences. According to Teller the scientist Niels Bohr has a brilliant personality. Teller said the following about him: “As soon as a new thought arises and one considers that the old idea is at fault, one has to throw away the previous one. Bohr energetically opposed this. One can understand a branch of science only if one immerses oneself in all of the faults which this
73
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Eniko Madarassy: ”I grew up with the belief that the truth is simple, one must only find it”
branch has. Niels Bohr rejected faults but at the same time he liked them a lot.” On one occasion Bohr incorrectly described a molecule of oxygen and Teller wanted to tell him this in a pleasant and good-tempered way. Instead of saying that he had made a false interpretation, Teller said: “To describe a molecule of oxygen in this way is exaggerated.”
“I worked on this quite a lot. I believe that if I hadn’t done it, the Soviets would have done the same thing anyway and I don’t think that the results would have been very nice. I worked on this not because it was interesting. I believed that it was necessary and furthermore it was not only my work, there were many who worked on this. From my European background it followed that I did not like Russian Communism.”
After this discussion Bohr glared at Teller (he was to all appearances angry) and Bohr said: “Teller said to me that I exaggerate,. ..I say that Teller knows 100 times more about the molecule of oxygen than me. This is exaggerated, he can only know 92 times more than me.” And he continued to talk. This was Bohr, a very special person. Edward Teller met not only scientists but also presidents of the United States. To him the most pleasant meeting was with the former U.S. President Truman, when he reached the age of 70. At that time Teller gave a lecture about the hydrogen bomb and he received an invitation from the president. At the celebration Truman spontaneously told Teller a funny story about a statement of his, which was the reason that he did not receive money from the tobacco industry. Early on the 29th January, Truman gave an order relating to the thermonuclear program, which favoured the production of the hydrogen bomb. The war and uncertainty about the capability of Hitler, and later the Soviet Union, to produce a hydrogen bomb forced many scientists into a position that they would have chosen only in such an emergency. In answer to my question of what his attitude was towards the title “The father of the hydrogen bomb” He answered:
I tried to choose parts of the whole talk, taped by video, that I considered interesting. For me it was a great honour to listen to the poetry which Teller wrote when he was about 16-18 years old. This shows a deep feeling. Teller’s poetry (translated by Margit Grigory) To seek, to expect, to desire nothing. To love, to desire, to remain alone, To look at the world with eyes closed, To see what no man has seen before. To love, to adore holy purity, The wind, the clouds, the sun, and the dream. To do the right thing, not for small change, Nor for otherworldly eternal salvation. To know that there is no goal, To know that there is no God, To be afraid that perhaps there is no justice, To know that thought is ephemeral, the will is weak, That I am dependent on blind chance. And yet with stubborn hope still, still to believe That what I accomplish is not in vain, And to be able to rejoice at the great acquiescence At death which cures joy and pain.
74
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Eniko Madarassy: ”I grew up with the belief that the truth is simple, one must only find it”
I finished my conversation with Edward Teller by reading poems, for over an hour, from pearls of Hungarian literature.
III. Teller with the help of notes from Chen Ning Yang
I have tried to describe the surrounding atmosphere in which the two famous physicists C.N. Yang and E. Teller lived and worked with the help of ‘SELECTED PAPERS 1945-1980 With Commentary (1983)’. This is a collection of some of Chen Ning Yang’s papers and the stories about several scientists in The Collected Works of C.N. Yang (1989) (in Chinese). The translation from Chinese was done by Cheng-Ji Chang. The book, which was published for Yang’s sixtieth birthday, is an excellent historical description of the development of physics with concrete data and descriptions. During the years from 1946 to 1949 at the University of Chicago the student Chen Ning Yang wrote his Ph.D. thesis, “On the Angular Distribution in Nuclear Reactions and Coincidence Measurements” under the guidance of Professor E. Teller. In 1945 Yang called Teller and asked if he could work with him. They agreed to meet in front of the main door of the Physics Department. At that time the building was still occupied by the army because of the atom bomb research.
When Teller was a young student in Germany he had an accident and he lost one of his legs, which meant that a particular walking noise signaled that he was coming down the stairs. “Are you Yang?” he asked. “Yes,” Yang answered. Teller asked Yang about the ground state wave function of the hydrogen atom. Yang had studied Quantum Mechanics in China and therefore this very fundamental knowledge was easy for him. “Good”, Teller said and Yang was accepted. Teller had many students and he helped them a lot. His thoughts were very diverse and he was always ready to tell everybody about them. He usually gave the students one project every week. When they talked to him about the projects the following week he usually had forgotten the projects he gave. He was always full of both conceivable and inconceivable ideas, roughly ten every day. However, 95% of them were wrong. But it does not matter because if anyone has half a good idea every day, the achievement will eventually be great. His style impressed Yang deeply. When Yang had just arrived at Chicago, Teller was teaching Quantum Mechanics. As he had a lot of work to do, he did not have time to prepare his lectures and sometimes he made mistakes in his lectures. After ten minutes, the aberration would become disastrous and in these situations one could learn how a senior physicist solved a problem. This process was very educational for Yang. Through this kind of contact Yang understood what was important and unimportant for him. For Teller the meaning of an equation was more important than the equation itself. In the autumn of 1946, Yang started to work in Professor S.K. Allison’s laboratory. When he experienced difficultites with his experiment to resolve the P1/2, P3/2 states of He5, Teller suggested that Yang should abandon his plan to write an experimental thesis, and instead Teller would sponsor his papers as Yang’s thesis. Yang was at first disheartened by the idea, but in a few days
75
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Eniko Madarassy: ”I grew up with the belief that the truth is simple, one must only find it”
recovered and accepted Teller’s suggestion with relief. Teller’s habit was to use conversation as an instrument of scientific investigation. He would ask a crucial question and then he looked for a partner to work with him on the explanation. Yang belonged to this group, off and on, for about two years. Yang learned more group theory from Teller, who was just about thirty and had an intuitive grasp of the application of group theory in atomic and molecular physics. Teller made the suggestion to treat the relativistic case in β decay. “I still remember the first problem Teller asked me to work on: the difference of the K-capture lifetimes of Be7 and Be7O crystals” (C.N. Yang) Teller suggested to Yang to use the Wigner-Seitz method for crystal analysis and the Thomas-FermiDirac method for estimating the electron densities. The work was not published because Yang had no confidence about the validity of cancellations between large terms in the final results. Talking to Teller was exciting because one could learn a lot from the conversation. Teller’s ideas were not always correct but from a sceptical point of view, both parties benefited from the conversations . Here is an example: After obtaining his PhD degree, Yang became an instructor at the University of Chicago. He attended unofficial seminars, between the departments of Physics and Chemistry, which were proposed by Fermi. They took place every week at coffee time for professors and research students. Anyone could talk about any new ideas or news. There were no specific topics, for example: carbon dating, speculation on the origin of elements…. Fermi, Teller and Urey attended the seminars regularly, so there was never a shortage of themes to discuss and it was never uninteresting. In 1949, Teller said that he had just received a phone call about a new meson discovery in
0 Berkeley, namely that the π -meson disintegrats into two photons.
This was news and nobody in the seminar knew about it. “Teller immediately argued that the observation implied the π had zero spin” (C. N. Yang) Fermi asked him to prove this. Teller approached the blackboard and explained his argument but he was attacked by everyone because his argument was incomplete. (However the conclusion was correct.) After the seminar, Yang thought the matter over. Although, Teller’s argument was unfinished, it could be rescued and after a few days Yang worked out the correct selection rules in an article which made him proud. This is a concrete example of the benefit of talking with Teller. 0
In late March, 1948, Teller, Fermi and Wentzel went to the Pocono Conference. They returned with enthusiasm about J. Schwinger‘s talk on quantum electrodynamics and together with five graduate students, Yang worked several days in Fermi’s office trying to understand Schwinger’s method, but without result. One can realize the influence Teller had on Yang from the description given for the Nobel Committee (1957), in which Yang emphasized that: “… my three theses, written under Professors TaYou Wu (B.Sc. thesis), J. S. Wang (M.Sc. thesis) and E. Teller (Ph.D. thesis) were instrumental in introducing me to my field of interest” (C.N. Yang) In 1967, Edward Teller was 60. With an article about the classical solutions of pure gauge fields, T. T. Wu and C. N. Yang contributed to the celebration of Teller’s sixtieth birthday. The aim of the article was to look for singularity-free classical solutions and to study perturbations around such solutions to obtain excitations. “He is a Hungarian. His mind is very agile. He is also a theorist, broaching physics from phenomena.
76
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Eniko Madarassy: ”I grew up with the belief that the truth is simple, one must only find it”
Because of developing the hydrogen bomb, Edward Teller was called “The Father of the Hydrogen Bomb”. However, he doesn’t like this title. ” (C. N. Yang)
Sakharov was a member of this group and in a short time he invented a plan to devise the first Soviet thermonuclear bomb, which was tested in 1953. Sakharov’s study was a major contribution to the Hbomb, which was tested in 1955.
IV. Similarities between the lives and activities of Teller and Sakharov.
Teller is: The father of the hydrogen bomb, similarly Sakharov is: The father of the Soviet hydrogen bomb.
Edward Teller (1908-2003) and Andrei Sakharov (1921-1989) grew up in a strong traditional family lifestyle with a fundamental passion for work and interest in literature, art and science. Sakharov’s family environment was respectful of professional competence. Similarly Teller believed strongly in competition in science to bring out the best in all. Teller’s career was often marked by his attraction to theoretical or computational challenges, or puzzling experimental results. Both were key figures in the thermonuclear programmes and lived on opposite sides of the Iron Curtain. The United States and the Soviet Union were in rivalry for the hydrogen (fusion) bomb and thought that nuclear pressure was helpful. The superbomb was a controversial weapon. Both believed that thermonuclear reaction and its destructive power, which is the source of the energy of the sun and stars, was essential. Teller and Sakharov have in common the fathering of the H-bomb. Teller was concerned with the American atomic project from its start, before the United States entered World War II. In 1940 he was preoccupied with the idea of the hydrogen bomb. He returned to Los Alamos to work on the hydrogen bomb and contributed to the first plan of a thermonuclear weapon tested in 1952, after the Russians had tested their first atomic bomb in 1949. In 1948 the government reported to a group of Igor Tamm to check the feasibility of an H-bomb plan.
Both were top political and public celebrities and remained convinced that their work on nuclear weapons was a necessity for their own country as well as for the whole earth. At Moscow University in the 1940s, Sakharov was considered one of the USSR’s most brilliant intellects. After his doctorate, he was sent to a topsecret location to make plans for the improvement of the hydrogen bomb. “I was working for peace, that my work would help foster a balance of power” (Sakharov) “..in the 1940s and 1950s my position was much closer to Teller’s, practically a mirror image (one only had to substitute USSR for USA, peace and national security for defence against the communist menace, etc.)… Unlike Teller, I did not have to go against the current in those years, nor was I threatened with ostracism by my colleagues.” (Sakharov) The Second World War was stopped by the bombing and destruction of Hiroshima and Nagasaki. Its inhabitants were martyrs for a war which should never had happened. The only consolation is that we have not had a Third World War and so a balance of nuclear terror between the two nuclear superiorities has worked. So we can deduce that American and Soviet atomic scientists helped to keep the peace. Teller made a major contribution to the security and defence of freedom and world peace, extending from the beginning of the Second World War and throughout the Cold War. Was this the only possibility?
77
ISAST Transactions on Computers and Software Engineering, No. 1, Vol. 1, 2007 Eniko Madarassy: ”I grew up with the belief that the truth is simple, one must only find it”
“Each of us has a responsibility to think about this in global terms, with tolerance, trust, and candor, free from ideological dogmatism, parochial interests, or national egoism.” (Sakharov) Sakharov became conscious that the patterns he had admired as a scientist could not coexist with Marxism and weapons. Tyrannical domination over information allowed Soviet party line to influence even the most excellent and the top. Sakharov desired to make his nation dominant enough to ensure peace after a terrible war. What can we learn from our history? Already, Sakharov had realised that “all governments are bad and all nations face common dangers.” Maybe in the future we will have an institute whose leaders together with heads of states have as their unique goal, the well-being of the people. These leaders are not motivated by false pride or party and personal pecuniary goals and therefore they must do away with political parties. With an allegoric example: The atoms have to connect very closely in order to form an object. What would happen if these atoms repelled each other instead of combining as they do? Only by international collaboration and an understanding without violence and indignation can we reach a world without rearmament. If we consider ourselves as intelligent beings we must think to the development of our human consciousness too. In 1975, Sakharov received the Nobel Peace Prize. Teller was recognized with the prestigious Presidential Medal of Freedom. “He changed the course of human history.” “Edward Teller played a pivotal role in ending the Cold War. He has been a strong advocate for national defence and the cause of human freedom. The United States honours him for his excellence in science and in education, and his unwavering commitment to the nation.”
(George Bush, President of the U.S.A.) “I believe America and the free world owe Edward Teller a great debt of gratitude for his historic contribution to the defence of freedom, extending from the beginning of the Second World War and throughout the Cold War” (John Nuckolls, former Director, L.L.N.L.) In accordance with some scientists Teller should have received the Nobel Peace Prize together with Andrei Sakharov, because he devoted his life to preserving freedom. As a postscript I would like to mention that I read in LES CAHIERS DE SCIENCE & VIE [DOSSIER 100 ANS DE NOBEL, DANS LES COULISSES DU PRIX] about John von Neumann, Edward Teller and Theodore von Karman. They were called “The Kings without crowns”, who ought to receive the Nobel Prize.