An analytical study of peer-to-peer media streaming systems Recent research efforts have demonstrated the great potential of building cost-effective media streaming systems on top of peerto-peer (P2P) networks. A P2P media streaming architecture can reach a large streaming capacity that is difficult to achieve in conventional server-based streaming services. Hybrid streaming systems that combine the use of dedicated streaming servers and P2P networks were proposed to build on the advantages of both paradigms. However, the dynamics of such systems and the impact of various factors on system behavior are not totally clear. In this article, we present an analytical framework to quantitatively study the features of a hybrid media streaming model. Based on this framework, we derive an equation to describe the capacity growth of a single-file streaming system. We then extend the analysis to multi-file scenarios. We also show how the system achieves optimal allocation of server bandwidth among different media objects. The unpredictable departure/failure of peers is a critical factor that affects the performance of P2P systems. We utilize the concept of peer lifespan to model peer failures. The original capacity growth equation is enhanced with coefficients generated from peer lifespans that follow an exponential distribution. We also propose a failure model under arbitrarily distributed peer lifespan. Results from large-scale simulations support our analysis. Multimedia streaming over the Internet has become a reality with the development of media compression methods, high-throughput storage systems, and broadband networking technology. Attractive M. Hefeeda, School of Computing Science, Simon Fraser University, 2400 Central City, Surrey, BC V3T 2W1, Canada; email: mhefeeda@cs.sfu.ca. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or direct commercial advantage and that copies show this notice on the first page or initial screen of a display along with the full citation. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, to redistribute to lists, or to use any component of this work in other works requires prior specific permission and/or a fee. Permissions may be requested from Publications Dept., ACM, Inc., 1515 Broadway, New York, NY 10036 USA, fax: +1 (212) 869-0481, or permissions@acm.org. c 2005 ACM 1551-6857/05/1100-0354 $5.00 applications such as entertainment video-on-demand, digital libraries, and online news services built on top of real-time media streaming architectures are now publicly available. However, there are still many challenges towards building cost-effective, robust, and scalable multimedia streaming systems [Wu et al. 2001] due to the stringent bandwidth, packet loss, and delay requirements for media streaming.. A majority of media streaming architectures follow a server/client design. In a large streaming system where user requests arrive at a high rate, a server has to support a large number of concurrent streaming sessions. Multiple servers or proxies can be deployed to increase total system capacity. In this design, media content is replicated on these proxies, and clients receive streaming data from the closest proxy. There are two advantages of using proxies: (i) user requests are handled by all proxies with a combined capacity greater than the capacity provided by the single-server architecture; (ii) better quality of service (QoS) in terms of latency and packet loss in streaming due to the shortened packet delivery path. Such systems are sometimes called Content Distribution Networks (CDNs) [Biliris et al. 2002] .. The cost of maintaining a CDN is extremely high considering the massive CPU power, storage space, and bandwidth needed. As the service becomes more popular, more servers have to be deployed. One approach to solve the above problem is motivated by the emerging concept of peer-to-peer (P2P) computing [Milojicic et al. 2002; Rowstron and Druschel 2001a; Crowcroft and Pratt 2002] . In a P2P system, there is no centralized entity controlling the behavior of peers. Instead, each peer contributes its share of resources and cooperates with other peers according to some predefined rules for communications. In the context of media streaming, a well-organized community of clients can significantly lower the service load of CDN servers by taking over some of the streaming tasks. The basic idea is to let clients that have acquired a media object act as streaming servers for subsequent requests to that object. One of the key features of a P2P streaming system is that its total capacity grows when the content it manages becomes more popular . This is the most important difference between P2P and the server/client paradigms. To some extent, a P2P architecture can be viewed as an extreme case of a CDN: data are replicated on a large number of client nodes.. Hybrid media streaming systems that combine centralized servers and peer-to-peer networks have been proposed in Xu et al. [2003] and Hefeeda et al. [2003] . As compared to a P2P-only architecture, the hybrid streaming system can disseminate media content faster and responds quicker to requests. System performance in media streaming services is mainly bottlenecked by bandwidth [Padmanabhan et al. 2002] . Some operations such as directory management and searching that consume less bandwidth can be processed at a centralized server for efficiency reasons. Furthermore, peers are heterogeneous in the duration of their commitment to the community [Saroiu et al. 2003 ]: each peer could leave or fail at any time. In order to minimize the effects of this come-and-go behavior, servers can act as backup resource providers even when the P2P network has enough capacity. Servers are qualified to play this role because of their robustness.. The focus of this article is to study the features of a hybrid media streaming architecture by mathematical analysis. We are primarily interested in the pattern of system capacity growth and the effects of various factors on that growth. The system capacity is defined as the total streaming bandwidth available from both servers as well as peers. Conclusions drawn from such analysis improve our understanding of system dynamics and provide guidelines for the design and realization of media delivery services based on hybrid architectures. In this article, we propose a generic media streaming model that utilizes both a CDN and P2P network. The model differs from those found in Xu et al. [2003] and Hefeeda et al. [2003] in that it is applicable to a more general environment and is more amenable to quantitative analysis of system performance. Using a deterministic discrete-time analysis approach, we derive the growth equation for system capacity. This equation is used to analyze the time threshold at which the system capacity is sufficient to handle the total load. We extend the results from a singlefile system to a multi-file system. We also show that our streaming architecture achieves near-optimal • Y. Tu et al. performance in terms of the time needed for a complete load hand-over from servers to peers. Furthermore, peer failures are factored into the analytical model. We study peer failures by associating a lifespan with each peer and analyzing the system performance under different lifespan distributions. We also present two enhancements of the analysis. In the first, we analyze a media streaming system in which a peer can start serving a file to others before completely receiving it. We show that this overlapping of receiving and serving can significantly accelerate the capacity growth and reduce the server-peer transition time. In the second enhancement, we study a general multi-file streaming system in which files may have different lengths and bit rates. We describe how the optimal transition time can be computed numerically. In addition, we evaluate several performance metrics by extensive simulations, the results of which confirm the validity of our analysis.. This article continues with Section 2 by comparing our research with related work. Then we introduce the streaming model in Section 3. We start our analysis by studying single-file systems without failures in Section 4. Then we extend to multi-file systems (Section 5) and systems with peer failures (Section 6). Two extensions of the main results are presented in Section 7. Section 8 presents the simulation results. We conclude the article with Section 9. In this article, we studied the capacity growth of P2P media streaming systems using a discrete-time analytical model. The capacity is defined as the total streaming bandwidth available from both servers and peers that previously acquired the media files. Based on the analytical model, we found that the capacity of such systems increases exponentially with time. Knowing the exact pattern of the system capacity growth enabled us to determine the moment at which the streaming load shifted from servers to peers. We obtained explicit expressions to determine this moment, which we call the server-peer transition time k 0 . The server-peer transition time can be used by the system operator to decide when to reallocate server resources. We analyzed the capacity and server-peer transition time for singleand multi-file streaming systems. We showed that the equations derived for single-file systems can approximate the behavior of multi-file systems, within some boundary conditions. We extended our analysis to quantify the effects of peer failures on the system performance. In particular, we modeled the unreliability and limited commitment of peers to the system by a lifespan random variable. We derived explicit expressions for the server-peer transition time using two commonly-known lifespan distributions in the literature, exponential and Pareto. Furthermore, we considered a general peer failure model in which the lifespan could follow any arbitrary distribution. Although we did not obtain explicit expressions in this case, we showed how the solution can be computed using simple numerical methods. In addition, we conducted extensive simulation experiments which (i) validated our analytical conclusions, and (ii) studied the effects of changing several parameters, for example, request rate, average peer bandwidth contribution, and average peer lifespan on system performance.. Finally, our results from the analysis and the simulation experiments leads to better understanding of the operation of P2P media streaming systems. To that end, we have the following comments and suggestions for designers of P2P media streaming systems.. (1) The system performance is most sensitive to the capacity growth factor, which is the average peer bandwidth contribution (α) divided by the bandwidth required to stream the media file (b). Therefore, we should concentrate on maintaining a large α b value. One idea is to give higher priorities to peers with higher bandwidth contributions. Specifically, we could reserve some server bandwidth for high-capacity peers to enable them to get early admission to the system.. (2) Peers receiving a media file should be allowed to serve others before receiving the entire file. However, a receiving peer does not need to become a serving peer too early in the session. As a rule of thumb, a delay of about one-third of the session length would yield good performance in terms of faster system capacity growth rates. (3) Peer failure negatively affects the system capacity by decreasing the capacity growth factor. Thus, maintaining a sufficiently large P2P community is the key to success. Incentive mechanisms could be used to encourage peers to stay longer in the system. (4) System performance can deteriorate when too many media files are introduced in the system. To some extent, this may be mitigated by synchronizing the growth of file-specific subsystems using private channels, especially when files are of different lengths and bitrates.. This study can be extended in several directions. For example, it could be interesting to analyze the strategies proposed (e.g., fast track channels for high-capacity peers and providing incentives for peers to stay longer) and how these strategies enhance system performance. Since the focus of our analysis was on the early stages of system operation, another extension could be studying the system dynamics after the server-peer transition point. At the individual peer level, we may need to design file replacement policies especially when peers request many files and have limited storage capacity. It is important to design these replacement policies with minimal or no global information about other peers in the system. Other possible research directions include QoS management and handling security and integrity concerns in P2P media systems. A review on Internet video streaming can be found in Wu et al. [2001] . The key research areas of video streaming are identified and methodologies are discussed. Research on P2P computing was greatly motivated by the success of Gnutella 1 and Napster. 2 The general philosophy and current research efforts of P2P computing are introduced in Milojicic et al. [2002] and Crowcroft and Pratt [2002] . Pastry [Rowstron and Druschel 2001a] , Chord , and CAN [Ratnasamy et al. 2001] are the most popular P2P searching/routing protocols. P2P applications built on top of these protocols are presented in Rowstron and Druschel [2001b] and Dabek et al. [2001] . Other topics of P2P research include system design [Ripeanu et al. 2002] , traffic measurement [Saroiu et al. 2003 ], and usage of coupons/incentives [Horne et al. 2001; Golle et al. 2001] .. In the context of peer-to-peer media streaming, both the CoopNet project [Padmanabhan et al. 2002 ] and the ZIGZAG prototype [Tran et al. 2003 ] explore how media streams should be delivered to many clients under the situation of flash crowd. Both projects concentrate on how to efficiently maintain a multicast tree in an environment where user behavior is unpredictable. CoopNet utilizes the method of Multiple Description Coding (MDC) to deal with the in-session departure/failure of streaming peers. Our system model differs from these efforts in the sense that we focus on the delivery of on-demand media instead of live media. Commercial content delivery services such as Allcast 3 and C-Star 4 are close in spirit to on-demand P2P media streaming. In Xu et al. [2002] , an algorithm that assigns media segments to different supplying peers and an admission protocol for requests are introduced. Nguyen and Zakhor [2002] emphasize streaming protocol design. In their work, an RTP-like protocol with the features of rate control and packet synchronization is developed.. Research on hybrid media streaming architecture shown in Xu et al. [2003] is directly related to our work. A similar P2P streaming architecture can be found in Hefeeda et al. [2003] and Hefeeda et al. [2004] , in which efficient algorithms for dissemination of media content and economical analysis of P2P streaming services are presented. They show that, with small initial investment and the use of incentives, a large-scale and profitable media streaming service can be built.. Several recent efforts emphasize performance analysis of P2P networks. In Yang and de Veciana [2004] , a branching model and a Markov chain model are used to study the system dynamics of a BitTorrent 5 -like file sharing network in its transient and steady states, respectively. They find that the capacity of such systems grows exponentially in transient and stabilizes at steady state. The above work is extended in Qiu and Srikant [2004] where a fluid model is exploited to quantify system capacity at steady state so that explicit expressions of performance metric are obtained (vs. numerical results obtained in Yang and de Veciana [2004] ). Furthermore, other features of the BitTorrent network such as downloading efficiency and incentives are discussed. In Ramachandran and Sikdar [2005] , downloading speeds in similar systems are analyzed with consideration of network topology and peer heterogeneity. Our work differs from the these efforts in the following aspects:. (1) We deal with P2P media streaming rather than file downloading. We study system capacity and transition time using a discrete-time analytical method; (2) We accomplish a quantitative analysis of the performance of a multi-file system and prove optimality in terms of the transition time of the system model. Ours is the only work that accomplishes this, to the best of our knowledge; (3) We explore the impact of peer failure under different failure models. Among them, the matrix model is not found in any other P2P research.. Among the above contributions, items (1) and (3) can be readily used to study pure P2P streaming systems (i.e., those without servers). Our study greatly improves the analytical research on a hybrid streaming system presented in Xu et al. [2003] as the latter only considers single-file system without failures. Finally, we extend the conference version of this article [Tu et al. 2004 ] by relaxing several assumptions such that the analysis applies to more general cases of system operation. For instance, we study system performance under the effects of arbitrary distributions of peer lifespan (Section 6.2), shortened intersession delays (Section 7.1), and variable streaming length and bitrate of media objects (Section 7.2). Due to the space limitation, some details of this study are not included in this article and can be found in our technical report [Tu et al. 2005] .

O O O O B B I O O O O O O O O O O O O B I O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O B I O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Identifying modules via concept analysis We describe a general technique for identifying modules in programs that d o n o t designate them explicitly. The method is based on concept analysis | a branch of lattice theory that can b e u s e d t o i dentify similarities among a set of objects bas e d o n t h e i r attributes. W e discuss how concept analysis can identify potential m odules using both positive" and negative" information. We present a n a l gorithmic framework to construct a lattice of concepts from a program, where each concept represents a potential module. We describe an algorithm that, give n a c o ncept lattice, identi es possible w a ys of partitioning the program into modules. We discuss a prototype implementation and some results on small and medium-sized programs. Many existing software systems were developed using programming languages and paradigms that do not incorporate object-oriented features and design principles. These systems often have a monolithic style that makes maintenance and further enhancement an arduous task. The software engineer's job would be less di cult if there were t ools that could transform code that does not make explicit use of modules into functionally equivalent o b j ect-oriented code that does make use of modules or classes. G i v en a tool to partially automate such a transformation, legacy systems cou l d b e m odernized, making them easi e r t o m a intain. The modularization of programs o ers the added bene t of increased opportunity for code reuse.. The major di culty w ith software modularization is the accurate identi cation of potential modules and classes. This paper describes how a technique known as concept analysis can help automate modularization. The main contributions of this paper are:. We s h o w h o w t o apply concept analysis to the modularization problem.. Previous work on the modularization problem has made use only of positive" information: Modules are identi ed based on properties such a s function f uses variable x" o r f has an argument o f t ype t". It is sometimes the case that a module can be identi ed by what values or types it does not depend upon | for example, function f uses the elds of struct queue, but not the elds of struct stack". Concept analysis allows both positive and negative information t o be incorporated into a modularization criterion. See Section 3 .2. Unlike several p r eviously proposed techniques, the concept-analysis approach o ers the ability to stay within the system" as opposed to applying ad hoc methods when the rst suggested modularization is judged to be inadequate:. If the proposed modularization is on too ne a scale, the user can move up" the partition lattice. See Section 4. If the proposed modularizati o n i s t oo coarse, the user can add additional a ttributes to identify ner-granularity concepts. See Section 3 . W e h a v e implemented a prototype tool that uses concept analysis to propose modularizations o f C p r ograms. The implementation has been tested on several small and medium-sized examples. The largest example consists of a b o ut 28,000 lines of source code. See Section 5.. As an example, consider the C implementation of stacks and queues shown in Figure 1 . Queues are represented by t w o stacks, one for the front and one for the back; information is shifted from the front stack t o t he back s t ack when the back s t ack is empty. The queue functions only make use of the stack elds indirectly | by calling the stack functions. Although the stack and queue functions are written in an interleaved order, we w ould like t o b e a ble to tease the two components apart and make them separate classes, one a client of the other, a s in the C++ code given in Figure 2 . This paper discusses a technique by w h i c h modules in this case C++ classes can be identi ed in code that does not delineate them explicitly. The resulting information can then be supplied to a suitable transformation tool that maps C code to C++ code, as in the aforementioned example. Although other modularization a lgorithms are able to i d e n tify the same decomposition 2, 14 , they are unable to handle a variant of this example in which stack and queue are more tightly intertwined see Section 3.2. In Section 3.2, w e show that concept analysis is able to g roup the code from the latter example into separate queue and stack modules.. Secti o n 2 i n troduces contexts and concept analysis, and an algorithm for building concept lattices from contexts. Section 3 discusses a process for identifying modules in C programs based on concept analysis. Section 4 de nes the notion o f a c o ncept partition a nd presents a n a l g orithm for nding the partitions of a c o ncept lattice. Section 5 discusses the implementation and results. Section 6 concerns related work.

O O O B I O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O B I O O O B O O O O O O O O O O O O O O O O O O B I O O B O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


The Cauchy problem for the modified Kawahara equation in Sobolev spaces with low regularity This paper is concerned with the Cauchy problem of the modified Kawahara equation. By using the Fourier restriction norm method introduced by Bourgain, and using the Imethod as well as the L 2 conservation law, we prove that the modified Kawahara equation is globally well-posed for the initial data in the Sobolev space H s (R) with s > − . This paper is devoted to study the initial-value problem of the modified Kawahara equation . In [4], the authors proved that. for s < . In [6] , the authors considered the local and global Cauchy problems for the generalized Korteweg-de Vries equation

O B I O O B I I O B I O O O O O O O O O B I O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Partial factorization of a dense symmetric indefinite matrix At the heart of a frontal or multifrontal solver for the solution of sparse symmetric sets of linear equations, there is the need to partially factorize dense matrices (the frontal matrices) and to be able to use their factorizations in subsequent forward and backward substitutions. For a large problem, packing (holding only the lower or upper triangular part) is important to save memory. It has long been recognized that blocking is the key to efficiency and this has become particularly relevant on modern hardware. For stability in the indefinite case, the use of interchanges and 2×2 pivots as well as 1×1 pivots is equally well established. In this article, the challenge of using these three ideas (packing, blocking, and pivoting) together is addressed to achieve stable factorizations of large real-world symmetric indefinite problems with good execution speed.The ideas are not restricted to frontal and multifrontal solvers and are applicable whenever partial or complete factorizations of dense symmetric indefinite matrices are needed. In this article, we consider the efficient and stable factorization of a dense symmetric indefinite matrix A of order n that has the form A 11 A T 21. where A 11 is a square matrix of order p and pivots are restricted to being within A 11 . Sometimes, it is not possible to choose pivots for the whole of A 11 . For example, a column of A may be zero in A 11 and nonzero in A 21 . Our factorization therefore takes the form. where P is a permutation matrix of the form P = P 11 I (1.. 3). The work of J. A. Scott was funded by the EPSRC Grant EP/E053351/1. Authors' address: J. K. Reid and J. A. Scott, Computational Science and Engineering Department, Atlas Centre, Rutherford Appleton Laboratory, Oxon OX11 0QX, England; email: {John.Reid, Jennifer.Scott}@ stfc.ac.uk. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies show this notice on the first page or initial screen of a display along with the full citation. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted.. To copy otherwise, to republish, to post on servers, to redistribute to lists, or to use any component of this work in other works requires prior specific permission and/or a fee. Permissions may be requested from 4) with L 11 of order q ≤ p, and D is of the form 5) where D 11 is a block diagonal matrix of order q with blocks of order 1 or 2 corresponding to 1 × 1 and 2 × 2 pivots and S 22 is a dense matrix of order n − q. We refer to this as a partial factorization, but allow the case of a complete factorization ( p = n), in which case q has the value n.. Once the factorization is available, it may be used for the following partial solutions:. and the corresponding equations for rectangular matrices X and B of the same shape.. Since the early 1990s, the use of block-based algorithms have become standard within state-of-the-art software for dense linear algebra computations (see, e.g., LAPACK [Anderson et al. 1999] and FLAME [Van Zee et al. 2009; Van Zee 2010] ). Many modern dense linear algebra algorithms are designed to perform most of their computation using BLAS-3 subroutines [Dongarra et al. 1990 ], thereby guaranteeing high performance as well as portability. Some researchers have aimed to improve performance further through the introduction of new BLAS subroutines (e.g., Gustavson et al. [1998] employ recursive blocked BLAS). However, we wish to design our partial factorization and solve algorithms to exploit the standard BLAS-3 subroutines. We also want to limit memory requirements and, since A is symmetric, to store only half the matrix. Unfortunately, there are no BLAS-3 subroutines for A held in packed lower triangular form. Thus, a key challenge that we face is organising the computation to use (approximately) 1 2 n 2 real storage whilst also incorporating blocking and making maximum use of high-level BLAS. We explore two approaches. The first is a block approach that builds on the work of Andersen et al. [2005] for the factorization of positive-definite matrices while the second is based on a recursive formulation of the factorization.. Another important issue we face is that of pivoting for numerical stability. To ensure robustness of our indefinite factorization algorithm while maintaining symmetry, we need to incorporate threshold partial pivoting using 1 × 1 and 2 × 2 pivots [Duff et al. 1991] . Accommodating pivoting and efficiently performing the symmetric permutations that are needed once a pivot has been chosen represents a substantial challenge when A is held in packed form. Designing and implementing algorithms that succeed in this is the main achievement that we report in this article. We note that the HSL multifrontal solver MA57 [Duff 2004 ] uses the same pivotal strategy but holds its matrices in full form.. The code that we have designed and developed for the partial factorization and solution of symmetric indefinite systems is collected into the module HSL MA64 within the HSL mathematical software library [HSL 2011] . We expect the principal application to be within the multifrontal method for factorizing sparse symmetric indefinite matrices and our data formats have been designed to take this into account. However, HSL MA64 is also available for other applications, including the case where a complete factorization is needed ( p = n). LAPACK contains two subroutines for Bunch-Kaufman factorization of indefinite symmetric matrices; these are for the case p = n only. The Bunch-Kaufman factorization has stability limitations, see Section 3.3. Furthermore, one LAPACK subroutine is slow because it does not use BLAS-3 subroutines and the other stores the whole matrix. Therefore, one of the roles of HSL MA64 is to fill a gap that currently exists in LAPACK.. The numerical experiments reported in this article were performed using 64-bit real arithmetic on our multicore test machine, details of which are given in Table I . For timing, we used wall-clock times in seconds on a lightly loaded machine. When working with blocks, redundant floating-point operations in the upper-triangular part of the matrix are excluded when computing speeds in Gflop/s.. The rest of this article is organized as follows. In Section 2, we discuss the requirement within a multifrontal sparse direct solver to perform the partial factorization and partial solution of dense systems. In Section 3, the pivoting strategy that we employ is explained. Section 4 describes a simple implementation of the factorization without blocking. Section 5 then presents and compares two block approaches, a block column approach and a recursive approach. The former is chosen for implementation within HSL MA64. Further implementation details, including parallel working, are considered in Section 6. Numerical experiments using HSL MA64 are reported in Section 7 and concluding remarks are made in Section 8. We have shown that it is possible to achieve good execution speed and good accuracy for the partial or complete factorization and solution of sparse symmetric indefinite sets of linear equations while minimizing storage requirements by carefully combining blocking and the use of standard BLAS-3 subroutines with threshold partial pivoting and the use of both 1 × 1 and 2 × 2 pivots. We have also considered parallelization with OpenMP. For large dense systems, the execution speed of our code HSL MA64 on one thread is quite close to optimal and the speed-up on eight threads exceeds four.. For better parallelization of the sparse symmetric indefinite problem, we are planning to follow our experience in the definite case (see Hogg et al. [2009] ) of dividing the computation into a set of individually scheduled tasks, each of which involves updating a single block of the matrix. It is our belief that these ideas, too, can be combined with threshold pivoting and the use of 1 × 1 and 2 × 2 pivots.. All the HSL codes referred to in this article are part of HSL 2011. Use of HSL requires a license. Licenses are available without charge to individual academic users for their personal (noncommercial) research and for teaching; for other users, a fee is normally charged. Details of how to obtain a license together with information on all HSL packages are available at www.cse.clrc.ac.uk/nag/hsl/.

O O O O O O O O O O O O O B O B O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O B O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Local convergence of the Gauss-Newton method for injective-overdetermined systems of equations under a majorant condition A local convergence analysis of the Gauss-Newton method for solving injective-overdetermined systems of nonlinear equations under a majorant condition is provided. The convergence as well as results on its rate are established without a convexity hypothesis on the derivative of the majorant function. The optimal convergence radius, the biggest range for uniqueness of the solution along with some other special cases are also obtained. Let X and Y be real or complex Hilbert spaces. Let Ω ⊆ X be an open set, and F : Ω → Y a continuously differentiable nonlinear function. Consider the systems of nonlinear equations. If F ′ (x) is invertible, the Newton method and its variants (see [4, 5, 6, 9] ) are the most efficient methods known for solving such systems. However, F ′ (x) may not even be a square matrix. One simple example arises when X = R n and Y = R m , with n = m. In this case, F ′ (x) is not invertible and (1) becomes an overdetermined system (n < m) or an underdetermined system (n > m). In general, if F ′ (x) is injective or surjective, we say (1) is an injective-overdetermined or surjectiveunderdetermined system of equations, respectively.. If F ′ (x) is not necessarily invertible, a generalized Newton method called the Gauss-Newton method can be used (see [7, 8] ). It is defined by. where F ′ (x k ) † denotes the Moore-Penrose inverse of the linear operator F ′ (x k ). This algorithm finds least-squares solutions of (1). These least-squares solutions, which may or may not be solutions of the original problem (1) , are related to the nonlinear least squares problem. that is, they are stationary points of H(x) = F (x) 2 . This paper is focused on the case in which the least-squares solutions of (1) also solve (1) . In the theory of nonlinear least squares problems, this case is called the zero-residual case.. Regarding the local and semi-local convergence analysis of the Newton and Gauss-Newton methods, in the last years there has been much work attempting to alleviate the assumption of Lipschitz continuity on the operator F ′ , see for example [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 13, 16, 17, 19, 20] . The main conditions that relax the Lipschitz continuity on the derivative is the majorant condition, used for example in [4, 5, 6, 7, 8, 9] , and the generalized Lipschitz condition according to X.Wang, used for example in [1, 2, 10, 11, 16, 17, 19, 20] . In fact, as proved in [5] , if the majorant function has convex derivative, these conditions are equivalent. Otherwise, the Wang's condition can be seen as a particular case of the majorant condition. Moreover, the majorant formulation provides a clear relationship between the majorant function and the nonlinear operator under consideration, simplifying the proof of convergence substantially.. Our aim in this paper is to present a new local convergence analysis of the Gauss-Newton method for solving injective-overdetermined systems of equations under a majorant condition. The convergence, uniqueness, superlinear rate and an estimate of the best possible convergence radius will be established without a convexity hypothesis on the derivative of the majorant function, which was assumed in [7] . In addition to the special cases obtained in [7] , the lack of convexity of the derivative of the majorant function in this analysis, allows us to obtain two new important special cases, namely, the convergence can be ensured under Hölder-like and generalized Lipschitz conditions. In the latter case, the results are obtained without assuming that the function that defines the condition is nondecreasing, thus generalizing Corollary 6.3 in [2] . Moreover, it is worth to mention that, similarly to the convergence analysis of the Newton method (see [5] ), the hypothesis of convex derivative of the majorant function or nondecreasing of the function which defines the generalized Lipschitz condition, are needed only to obtain quadratic convergence rate.. The organization of the paper is as follows. In Section 1.1, we list some notations and one basic result used in our presentation. In Section 2, we state the main result and in Section 2.1 some properties of the majorant function are established and the main relationships between the majorant function and the nonlinear function F are presented. The optimal ball of convergence and the uniqueness of the solution are also discussed in Section 2.1. In Section 2.2 our main result is proven and some applications of this result are obtained in Section 3. Some final remarks are offered in Section 4

B I O O B I O B I I I O O B I O B I O O O B I O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O B I O O B I I I O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


By-passing the out-of-order execution pipeline to increase energy-efficiency Out-of-order execution significantly increases the performance of superscalar processors. The out-of-order execution mechanism is, however, energy-inefficient, which inhibits scaling superscalar processors to high issue widths and large instruction windows. In this paper, we build on the observation that between 19% and 36% of the instructions are immediately ready for execution, even before entering the issue queue. Yet, these instructions proceed to the energy-consuming steps of instruction wake-up and select and they needlessly occupy space in the issue queue. To save energy, we propose for these instructions to by-pass the out-of-order execution core. Instead, we execute them on an energy-efficient single-issue in-order by-pass pipeline. The by-pass pipeline executes a significant fraction of all instructions, allowing performance-energy trade-offs with respect to the issue width of the out-of-order pipeline and to the issue queue size. By making these trade-offs, we show energy reductions of 53% for the issue queue, 33% for the register file and 31% in the write-back and wake-up logic. Performance remains almost unaffected. Superscalar processors employ out-of-order execution (also known as dynamic instruction scheduling) to increase the issue rate and to overcome long instruction latencies [13, 25] . However, out-of-order execution consumes a significant amount of power by design. The issue queue together with the wake-up and select logic stands for a significant fraction of the total energy consumed by a processor. Reported numbers are in the range from 18% for the Alpha 21264 [7] , 19% for the Pentium Pro [14] , and up to 40% for the Pentium 4 [8] . Furthermore, the issue queue is a hot spot, making it more important to reduce its power consumption than other components.. The issue queue controls out-of-order execution [19, 25] . Instructions are first placed in the issue queue where they wait for their operands to become available. Once their operands are available, instructions can be selected for execution. After execution, the instructions broadcast their result together with a destination tag to the issue queue to wake-up dependent instructions. Both the wake-up and select steps require associative searches through the issue queue which disallows large issue queues [19, 20] and is detrimental for energy-efficiency [2, 4, 5, 11] .. Although all instructions are placed in the issue queue and all of them have to be selected for execution dynamically, it is not uncommon that one or all of the operands of an instruction are available before the instruction enters the issue queue [4, 11] . The reason for this is inherent to the nature of programs [6] : register values can remain live during long periods of time, so instructions dependent on such registers are immediately ready to execute. In our baseline 4-issue processor model, described in Section 4, between 19% and 36% of all dispatched instructions have all of their operands ready when they enter the issue queue ( Figure 1 ). Yet, these instructions are actively selected for execution, they needlessly consume issue queue space and they needlessly participate in the wake-up process.. This paper proposes a mechanism to reduce energy consumption by not executing all instructions on the out-oforder execution pipeline. Instead of dispatching instructions that are ready to execute to the issue queue, we propose to send these instructions to a separate in-order pipeline that by-passes the out-of-order execution pipeline. The by-pass pipeline is a single-issue in-order pipeline, making it highly energy-efficient. The by-pass pipeline consists of three stages: register file read, execute and write-back. There is no issue queue, select or wake-up logic as instructions execute immediately when they are dispatched to the by-pass pipeline.. Some architectural modifications are necessary to allow correct execution of instructions on the by-pass pipeline. The main hurdle is access to the register file to fetch the operands. The register file is strongly integrated in the out-of-order core. Adding read and write ports for the bypass pipeline would increase latency and power consumption. Therefore, we add a second register file holding a subset of the registers. This register file holds only those registers whose values remain live for a long period of time. These registers are typically ready when the instruction dispatches. These long-living registers are copied to the new register file selectively to ensure correct operation.. The by-pass pipeline provides additional issue width at a low energy cost so it improves performance in an energyefficient way. However, we show that the by-pass pipeline enables further energy-related optimizations in the out-oforder execution pipeline while keeping the same performance as the baseline processor. In particular, we show that both issue width and issue queue size can be reduced, yielding an 8.4% reduction of energy and a 9.7% reduction of the total power consumption. Overall, these trade-offs reduce issue queue energy by 53%.. In the remainder of this paper we discuss related work in Section 2. Then, we describe an architecture that bypasses the out-of-order execution core for instructions whose dependencies are satisfied (Section 3) and evaluate its performance and energy-efficiency (Section 4). The paper concludes in Section 5. This paper considers the addition of a simple energyefficient by-pass pipeline to an out-of-order superscalar processor to increase energy-efficiency. The by-pass pipeline relieves the out-of-order execution pipeline of 23% of its work, resulting in reduced activity factors in the out-of-order pipeline. We discussed the architectural implications of the by-pass pipeline and we evaluated its impact on performance and energy. In particular, we have shown a 6.3% speedup, while reducing the energy consumed per instruction (EPI) by 5.7%. The issue queue energy is reduced by 18.9% and write-back and wake-up energy by 15.7%.. The by-pass pipeline provides additional execution resources. The equivalent of these resources may be taken away from the out-of-order pipeline to further increase its energy-efficiency. Reducing both the issue width of the out-of-order pipeline and the issue queue size allows for the same performance level as the baseline processor, but issue queue energy is reduced by 53%, physical register file energy by 33% and write-back energy by 31%. This results in an overall energy savings of 8.4% for executing the same work and a reduction of energy consumed per cycle by 9.7%. The by-pass pipeline increases hardware complexity. The area overhead is relatively small. We have already pointed out that the long-living register file is much smaller than the physical register file. The one integer ALU is small compared to the complex ALUs in the out-of-order pipeline . By this, the overall static power consumption will not be affected much. In the remainder of this paper, we consider only dynamic power. Energy reduction is obtained mostly by reducing the activity factors in components with high energy consumption: the issue queue and write-back stages (including wake-up and select logic). As the issue queue is a hot spot, saving power here is even more important for temperature reasons.. Energy is increased in a few components. The physical register file needs one additional write port to write-back results computed in the by-pass pipeline. The result buses must be extended to send results to the long-living register file where they are conditionally written back. This increases the load on the result buses. However, both cases are mitigated when we trade-off performance for energy by reducing the complexity of the out-of-order pipeline. The number of read/write ports to the physical register file decreases by 3 when the issue width is decreased by 1 (net gain of 2 ports). The load on the result buses is strongly reduced when shrinking the issue queue. Both optimizations increase overall energy-efficiency.. Note that it is possible to reduce the number of write ports of the long-living register file. We find that only about 10% of the write-backs in the out-of-order pipeline are copied to the long-living register file, so the write bandwidth in the latter may be substantially less than the write-back bandwidth. If reducing the write bandwidth implies loosing some copy opportunities, this would reduce the energy efficiency of the processor, but not impact its correctness. Some researchers have proposed techniques to speedup execution by letting instructions by-pass the functional units. However, these techniques are not likely to increase energyefficiency. Instruction reuse [16, 26] was proposed to speedup execution by caching instruction results. When the operands to an instruction are available, the result is looked up in the reuse table. If the table hits, the instruction is not executed. The reuse table can be large, e.g. 221 KB [16] .. Some instructions perform trivial computations, e.g., multiplications by zero or one, adding zero, etc. [21, 29] . These instructions need not be executed but can instead by-pass the functional units. However, instructions remain in the issue queue until the trivializing operand is available [29] . Thus, trivialization has less potential to improve energyefficiency than the by-pass pipeline proposed in this work.. A number of works have previously noted the energyinefficiency of the issue queue and the operation of select and wake-up logic. Kim and Lipasti [11] and Ernst and Austin [4] reduce the complexity of wake-up logic by reducing the number of tag comparators. This is possible since many instructions have one or both operands ready when they enter the issue queue.. Instruction select logic can be speculatively pipelined to reconcile the complex select logic with a fast clock [28] . Select-free scheduling is also possible by speculatively marking all woken-up instructions as selected. An instruction scheduler is still necessary to detect when more instructions have been woken up than issue bandwidth limitations allow [1] . Yet another attempt to simplify instruction select is to combine instructions into macro-ops [12] . Scheduling macro-ops allow multi-cycle scheduling delays as the operations themselves take multiple cycles to execute.. Onder and Gupta [17] and Michaud and Seznec [15] investigate techniques that reschedule the instruction stream based on data-flow information and then dispatch this rescheduled stream to a small issue queue. Canal and González [3] present issue schemes based on in-order issue queues. Instructions enter the queue only when they are ready (firstuse scheme) or they are placed in a position in the queue depending on their dataflow distance (distance scheme). Both schemes require additional out-of-order issue queues in order not to loose significant amounts of performance.. Folegnani and González [5] remove some of the inefficiencies of the issue queue by gating-off wake-up for empty issue queue entries and for ready operands. They also propose to dynamically resize the issue queue, a technique that has been refined by others [2, 9] .. A large instruction window may be combined with energyefficient issue logic when the window is partitioned. Palacharla, Jouppi and Smith [19] propose to cluster the issue queue based on instruction dependencies. The instruction scheduler operates on each cluster of the issue queue independently while inter-cluster wake-up suffers a delay due to the larger distance.. Raasch, Binkert and Reinhardt [20] divide the instruction window over time, where instructions are promoted from one slice of the window to the next as they come nearer to execution.. The by-pass pipeline proposed in this work may be viewed as a particular incarnation of Palacharla's clustered architecture with non-uniform clusters. Note however that such architectures are very sensitive to the quality of the instruction steering across clusters [22] . Sub-optimal instruction steering causes an important reduction of IPC which must be offset by a higher overall issue width. This architecture retains the out-of-order execution core because of its high performance efficiency. We show that our architecture achieves the same IPC for the same total issue width as a baseline out-of-order architecture.

O O B I O O O B B I O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O B I O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O


Punctuated equilibrium in a non-linear system of action Coleman's equilibrium model of social development, the Linear System of Action, is extended to cover the dynamics of societal transitions. The model implemented has the characteristics of a dissipative system. A variation and selection algorithm favoring the retention of relatively dependent actors forces the system away from equilibrium, while exchange of control, according to Coleman the driving force behind social action, accounts for dissipation, pulling the social system back to equilibrium. This Non-linear System of Action self-organizes into a critical state, as confirmed by the robust power law distribution of exchange of control for a wide range of model sizes. Related punctuated equilibrium dynamics and structural change are of special interest, as these are closely connected to hypotheses on social dynamics developed in the literature on societal transitions. Transitions are structural innovations of societal systems, transformations between two temporal (dynamic) equilibrium states. In between there is a period of rapid change during which the system undergoes irreversible re-organization (Rotmans 2005) . The conceptualization of societal transitions in transition studies has much in common with a class of revolutionary change theories based on the punctuated equilibrium paradigm postulated by Eldtredge and Gould (Gould and Eldredge 1977; Eldredge and Gould 1972) . In an overview article, Gersick confronts the Darwinian concept of incremental cumulative change with the punctuated equilibrium paradigm by comparing a range of theories on change from the social sciences (Gersick 1991). We started this paper by positioning transition science in this realm of revolutionary change theories.. In developing our computational approach to societal transitions, we focused on both the punctuated equilibrium dynamics of the output of such a model and the identification of structural change in terms of deep structure (Gersick 1991) and self organized criticality (Bak and Sneppen 1993) . Our starting point is the Linear System of Action (Coleman 1990) . In this paper a Non-linear System of Action (NLSA) is developed. The model is an extension of the Linear System of Action (LSA). While the LSA is an equilibrium model, the NLSA, through the addition of a variation and selection algorithm, is dynamic. The extension of the LSA is developed and motivated in line with the rational actor model underpinning the LSA. Furthermore the variation and selection procedure follows the finding by Bak and Sneppen, that in order to produce self organized critical behavior, the least fit actors should be selected for mutation (Bak and Sneppen 1993) . In the NLSA, social development is reflected in the exchange of control.. The NLSA produces simulation results that mirror some of the main characteristics of transitions in a societal system. Both the frequency distribution of the exchanges of control and the length of the periods between two successive exchanges of control follow a power law distribution. These results prove that NLSA models with a size, number of actors times number of issues, exceeding 100, self-organize into a critical state. In this self-organized critical sate the NLSA shows punctuated equilibrium dynamics in which periods of limited exchange of control and stagnation and periods of high exchange of control, transitions, alternate. In this way the NLSA establishes a more formal relation between the metaphoric use of concepts from complex adaptive systems theory in transition theory (Rotmans 2005; Van der Brugge et al. 2005; Kemp et al. 1998) , literature on policy development and agenda setting (Baumgarter and Jones 1993) and Kingdon (1984) and theories of self-organized criticality (Bak and Sneppen 1993; Bak et al. 1988 ).. In the NLSA, structural change is connected to a persistent change in its power or value structure. For transition science, especially the emergence of new power and value regimes in the NLSA is of interest. Our results show that persistent changes in the power structure of the NLSA occur and normally result from periods with relatively high exchange of control and are often followed by periods with exchange of control. No relation has been found between the emergence of new value regimes and the occurrences of exchanges of control.. The NLSA can be used to study societal change and social transitions in different modes. First, the model can be used as a simulation tool generating its own social development, characterized by the speed of development, the direction of the development and the emergence of new power or value regimes. In this realm also research on the dynamics of network structures and the evolution of network topology in the NLSA and the possible development of scale free networks and power law distributions of network components (Whitmeyer and Yeingst 2006; Albert and Barabási 2002) and self-organized networks (Bak 1996; Dorogovtsev et al. 2003; Jensen 1998) resulting in globally stable and locally instable social networks (Whitmeyer and Yeingst 2006; Watts 2002) . Although these analyses are theoretical and their relation with societal transitions and transition management are still unclear, their empirical consequences and connectedness to real social networks seem promising. The results and insight gained from this type of studies primarily help us to better understand the dynamics of social systems and increase our insight in the conditions under which transitions are imminent.. In a second mode the model can be used to simulate the reaction of the social system studied to outside developments. Good examples of this type of application are the analysis of the influence of technological development and changes in the preferences of actors on the direction and speed of social change. In this mode the consequences of the current surge in interest in sustainable development for social change can be analyzed. Further use of the model can also focus on instruments of transition management like visioning (Loorbach 2007; Rotmans 2005; Van der Brugge et al. 2005 ) and strategic niche management (Kemp et al. 1998 ). Both can be implemented and studied with the NLSA.. In summary we conclude that the NLSA mirrors some important characteristics of societal transitions, is promising for its purpose of gaining insight in the dynamics of transitions and the evaluation and development of instruments and tools for transition management. Besides the model is flexible, allows for a connection to real world issues and is well embedded in sociological theory.. Open Access This article is distributed under the terms of the Creative Commons Attribution Noncommercial License which permits any noncommercial use, distribution, and reproduction in any medium, provided the original author(s) and source are credited.

B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Asymptotic Analysis of Complex LASSO via Complex Approximate Message Passing (CAMP) Abstract-Recovering a sparse signal from an undersampled set of random linear measurements is the main problem of interest in compressed sensing. In this paper, we consider the case where both the signal and the measurements are complex-valued. We study the popular recovery method of -regularized least squares or LASSO. While several studies have shown that LASSO provides desirable solutions under certain conditions, the precise asymptotic performance of this algorithm in the complex setting is not yet known. In this paper, we extend the approximate message passing (AMP) algorithm to solve the complex-valued LASSO problem and obtain the complex approximate message passing algorithm (CAMP). We then generalize the state evolution framework recently introduced for the analysis of AMP to the complex setting. Using the state evolution, we derive accurate formulas for the phase transition and noise sensitivity of both LASSO and CAMP. Our theoretical results are concerned with the case of i.i.d. Gaussian sensing matrices. Simulations confirm that our results hold for a larger class of random matrices.Index Terms-Approximate message passing (AMP), complexvalued LASSO, compressed sensing (CS), minimax analysis. We have considered the problem of recovering a complexvalued sparse signal from an undersampled set of complexvalued measurements. We have accurately analyzed the asymptotic performance of c-LASSO and CAMP algorithms. Using the SE framework, we have derived simple expressions for the noise sensitivity and phase transition of these two algorithms. The results presented here show that substantial improvements can be achieved when the real and imaginary parts are considered jointly by the recovery algorithm. For instance, Theorem III.6 shows that in the high undersampling regime, the phase transition of CAMP and c-BP is two times higher than the phase transition of r-LASSO. The SE framework used in this paper was first introduced in [3] . Deriving the phase transition and noise sensitivity of the LASSO for real-valued signals and real-valued measurements from SE is due to [11] ; see [47] for more comprehensive discussion. Finally, the derivation of AMP from the full sum-product message passing is due to [48] . Our main contribution in this paper is to extend these results to the complex setting. Not only is the analysis of the SE more challenging in this setting, but it also provides new insights on the performance of c-LASSO that have not been available. For instance, the noise sensitivity of c-LASSO has not previously been determined.. The recovery of sparse complex signals is a special case of group sparsity or block sparsity, where all the groups are nonoverlapping and have size 2. According to the group sparsity assumption, the nonzero elements of the signal tend to occur in groups or clusters. One of the algorithms used in this context is the group-LASSO [35] , [37] . Consider a signal . Partition the indices of into groups . The group-LASSO algorithm minimizes the following cost function: (2) where the 's are regularization parameters.. The group-Lasso algorithm has been extensively studied in the literature [24] - [41] . We briefly review several papers and emphasize the differences from our work. Bach [38] analyzes the consistency of the group LASSO estimator in the presence of noise. Fixing the signal , it provides conditions under which the group LASSO is consistent as . In [39] and [49] , the authors consider a weak notion of consistency, i.e., exact support recovery. However, Wainwright et al. [49] prove that in the setting we are interested in, i.e., and , even exact support recovery is not possible. When noise is present, our goal is neither exact recovery nor exact support recovery. Instead, we characterize the mean square error (MSE) of the reconstruction. This criterion has been considered in [24] and [40] . Although the results of [24] and [40] show qualitatively the benefit of group sparsity, they do not characterize the difference quantitatively. In fact, loose constants in both the error bound and the number of samples do not permit accurate performance comparison. In our analysis, no loose constant is involved, and we provide very accurate characterization of the MSE.. Group sparsity and group-LASSO are also of interest in the sparse recovery community. For example, the analysis carried out in [26] , [29] , and [30] is based on "coherence." These results provide sufficient conditions with again loose constants as discussed above. The work of [31] - [33] addresses this issue by an accurate analysis of the algorithm in the noiseless setting . They provide a very accurate estimate of the phase transition curve for the group-LASSO. However, SE provides a more flexible framework to analyze c-LASSO than the analysis of [33] , and it provides more information than just the phase transition curve. For instance, it points to the least favorable distribution of the input and noise sensitivity of c-LASSO.. The Bayesian approach that assumes a hidden Markov model for the signal has also been explored for the recovery of group sparse signals [50] , [51] . It has been shown that AMP combined with an expectation maximization algorithm (for estimating the parameters of the distribution) leads to promising results in practice [12] . Kamilov et al. [52] have taken the first step toward a theoretical understanding of such algorithms. However, the complete understanding of the expectation maximization employed in such methods is not available yet. Furthermore, the success of such algorithms seems to be dependent on the match between the assumed and actual prior distribution. Such dependences have not been theoretically analyzed yet. In this paper, we assume that the distribution of nonzero coefficients is not known beforehand and characterize the performance of c-LASSO for the least favorable distribution.. While writing this paper, we were made aware that in an independent work, Donoho et al. are extending the SE framework to the general setting of group sparsity [53] . Their work considers the SE framework for the group-LASSO problem and will include the generalization of the analysis provided in this paper to the case where the variables tend to cluster in groups of size .. Both complex signals and group-sparse signals are special cases of model-based CS [54] . By introducing more structured models for the signal, Baraniuk et al. [54] prove that the number of measurements needed is proportional to the "complexity" of the model rather than the sparsity level [55] . The results in model-based CS also suffer from loose constants in both the number of measurements and the MSE bounds. Finally, from an algorithmic point of view, several papers have considered solving the c-LASSO problem using first-order algorithms [4] , [21] . 5 The deterministic framework that measures the convergence of an algorithm on the problem instance that yields the slowest convergence rate is not an appropriate measure of the convergence rate for the CS problems [15] . Therefore, Maleki and Baraniuk [15] consider the average convergence rate for iterative algorithms. In that setting, AMP is the only first-order al-gorithm that provably achieves linear convergence to date. Similarly, the CAMP algorithm, introduced in this paper, provides the first, first-order c-LASSO solver that provides a linear average convergence rate.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I I O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Enacting protocols by commitment concession Commitment protocols formalize interactions among autonomous, heterogeneous agents, leaving the agents' local policies unspecified. This paper studies the problem of agents enacting commitment protocols, which inherently requires that their policies cohere with the given protocols. Specifically, in many important settings, if agents incautiously create and discharge commitments, they can expose themselves to certain risk; conversely, if the agents are (excessively) cautious, a protocol enactment may deadlock. This paper adopts the well-known idea of monotonic concession, but specializes and enhances it with the particular features of commitments. Specifically, this paper formulates inference rules for commitment concession that respect the nature of commitments. Next, it shows how commitments can be systematically revised as the agents incrementally engage each other in enacting their protocol. This paper demonstrates how such rules can be applied in practice, and identifies conditions under which progress and termination of protocol enactment can be guaranteed. Concession moves as described here can be implemented (1) in a separate module independently of the domain protocol; (2) as a separate interaction protocol; or (3) embedded into a domain protocol. The last is a particularly interesting situation. We are given a protocol that serves some domain purpose. This protocol can be enacted by a variety of agents in a variety of circumstances. For example, a purchase protocol among agents who trust each other or function within a trust environment may proceed in a simple manner sending each other the relevant domain messages. By contrast, agents who enact the same protocol in different circumstances might well have to carry out negotiations about the key messages of the domain protocol. Such negotiations can be generated via the concession approach described in this paper.. Wan and Singh study commitments in reaching multiparty agreements [10] . They develop agreement derivation rules that transform a multiparty agreement into actions that need to be carried out by individual agents. They further propose an algorithm for detecting and resolving deadlocks that may arise when the actions are applied arbitrarily. Their resolution is based on an agent's transforming its conditional commitment to an unconditional commitment based on trust in the other party. This is similar to the intuition behind the accept rule proposed in this paper.. Karunatillake et al. propose an approach for argumentation-based negotiation based on social commitments [5] . The agents that negotiate are bound to organizational roles and are influenced by social relationships. The approach enumerates possible rules that can be applied when conflicts occur. These rules are used to reject or accept proposals as well as to enforce the social relations. However, the rules in Karunatillake et al.'s approach are not devised for negotiating the content of the commitments in small increments as we have done here.. McBurney and Parsons handle e-commerce transactions using posit spaces protocol that consists of propose, accept, delete, suggest revoke, and ratify revoke [6] . The usage of propose and accept locution resembles the conditional commitments in commitment protocols. The delete locution corresponds to the release, or discharge operation. Suggest revoke and ratify revoke enable canceling of posits. These locutions are useful for negotiation, but are not sufficient to enable negotiation with concessions. For example, commitments can be accepted or rejected by these offers, but the content of a commitment cannot be restricted with these locutions.. Flores and Kremer develop a commitment-based approach for designing conversation protocols [4] . The design phase includes steps for identifying agent roles, agent actions, and so on. Our focus in this paper is complementary to that Flores and Kremer since we design concession rules that will enable agents to reach their final states by taking small risks at a time.. Alberti et al. specify interaction protocols using social integrity constraints [1] . Given a set of event occurrences, each agent computes a set of expected events based on the social integrity constraints. Social integrity constraints help agents reach a common goal. However, contrary to our proposal of negotiating with commitments at runtime, social integrity constraints are static throughout a protocol enactment.. Endriss studies the properties of monotonic concession protocols in multilateral negotiations from a game-theoretic point of view [3] . Endriss proposes different definitions for multilateral concession and analyzes protocols in terms of termination, liveness, and so on. It would be interesting to study how his definitions of concession would apply to commitment protocols. This paper has sought to combine considerations of rationality with those of commitment protocols. Many interesting research challenges arise from this combination, including the treatment of more general kinds of concession. Further, valuation functions with different characteristics (e.g., superadditive or subadditive) can be considered. It would also be helpful to extend the approach of this paper to arbitrarily nested commitments.

O B O O O O B O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O