Consistent hashing can be used to assign objects to nodes in a distributed system. It has been used by several distributed systems including Chord, Pastry, and Tornado because of its efficient handling of node failure and repair. In this paper we analyze how well consistent hashing does at evenly distributing objects among the nodes in the system. We also extend current consistent hashing algorithms to allow for dynamic load balancing while retaining the good properties of consistent hashing. Finally we analyze our extensions using both probabilistic analysis and simulations. The algorithms derived appear to achieve much better load balancing.
{"title":"Spreading the load using consistent hashing: a preliminary report","authors":"G. Swart","doi":"10.1109/ISPDC.2004.47","DOIUrl":"https://doi.org/10.1109/ISPDC.2004.47","url":null,"abstract":"Consistent hashing can be used to assign objects to nodes in a distributed system. It has been used by several distributed systems including Chord, Pastry, and Tornado because of its efficient handling of node failure and repair. In this paper we analyze how well consistent hashing does at evenly distributing objects among the nodes in the system. We also extend current consistent hashing algorithms to allow for dynamic load balancing while retaining the good properties of consistent hashing. Finally we analyze our extensions using both probabilistic analysis and simulations. The algorithms derived appear to achieve much better load balancing.","PeriodicalId":62714,"journal":{"name":"骈文研究","volume":"4 1","pages":"169-176"},"PeriodicalIF":0.0,"publicationDate":"2004-07-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"85745523","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The paper presents a performance model that can be used to optimally schedule arbitrary tasks on a network of heterogeneous computers when there is an upper bound on the size of the task that can be solved by each computer. We formulate a problem of partitioning of an n-element set over p heterogeneous processors using this advanced performance model and give its efficient solution of the complexity O(p/sup 3/ /spl times/ log/sub 2/ n).
{"title":"Data partitioning with a realistic performance model of networks of heterogeneous computers with task size limits","authors":"Alexey L. Lastovetsky, Ravi Reddy","doi":"10.1109/ISPDC.2004.17","DOIUrl":"https://doi.org/10.1109/ISPDC.2004.17","url":null,"abstract":"The paper presents a performance model that can be used to optimally schedule arbitrary tasks on a network of heterogeneous computers when there is an upper bound on the size of the task that can be solved by each computer. We formulate a problem of partitioning of an n-element set over p heterogeneous processors using this advanced performance model and give its efficient solution of the complexity O(p/sup 3/ /spl times/ log/sub 2/ n).","PeriodicalId":62714,"journal":{"name":"骈文研究","volume":"19 1","pages":"133-140"},"PeriodicalIF":0.0,"publicationDate":"2004-07-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"84431888","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This article presents an efficient method to calculate in parallel the values of the Smarandache function S(i), i = 1, 2, ..., n. The value S(i) can be sequentially found with a complexity of i/(log i). The computation has an important constraint, which is to have consecutive values computed by the same processor. This makes the dynamic scheduling methods inapplicable. The proposed solution is based on a balanced workload block scheduling method. Experiments show that the method is efficient and generates a good load balance.
本文提出了一种并行计算Smarandache函数S(i), i = 1,2,…值的有效方法。值S(i)可以以i/(log i)的复杂度顺序找到。计算有一个重要的约束,即由同一个处理器计算连续的值。这使得动态调度方法不适用。该方案基于负载均衡块调度方法。实验结果表明,该方法是有效的,并产生了良好的负载平衡。
{"title":"Calculating Smarandache function in parallel","authors":"S. Tabirca, T. Tabirca, Kieran Reynolds, L. Yang","doi":"10.1109/ISPDC.2004.15","DOIUrl":"https://doi.org/10.1109/ISPDC.2004.15","url":null,"abstract":"This article presents an efficient method to calculate in parallel the values of the Smarandache function S(i), i = 1, 2, ..., n. The value S(i) can be sequentially found with a complexity of i/(log i). The computation has an important constraint, which is to have consecutive values computed by the same processor. This makes the dynamic scheduling methods inapplicable. The proposed solution is based on a balanced workload block scheduling method. Experiments show that the method is efficient and generates a good load balance.","PeriodicalId":62714,"journal":{"name":"骈文研究","volume":"29 1","pages":"79-82"},"PeriodicalIF":0.0,"publicationDate":"2004-07-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"84153823","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This article presents a method for evaluating the CPU power, independently from the system used, in heterogeneous networks of workstations. It is based on the use of Java language in order to ensure application portability and more particularly on the mechanism of thread CPU processing time measurement introduced in the version 1.5 of Sun Java. That tool will be integrated into the load balancing mechanism which is totally written in Java and that we developed in the LIFL project ADAJ. We show how to evaluate the potential power of the CPU with a software totally written in Java. Moreover, we will justify the results provided by our approach. We will also analyse the exploitation of the calibration tool in order to improve the execution time of parallel and distributed applications in the context of load balancing in a network of workstations.
{"title":"A Java CPU calibration tool for load balancing in distributed applications","authors":"Guilhem Paroux, B. Toursel, R. Olejnik, V. Felea","doi":"10.1109/ISPDC.2004.2","DOIUrl":"https://doi.org/10.1109/ISPDC.2004.2","url":null,"abstract":"This article presents a method for evaluating the CPU power, independently from the system used, in heterogeneous networks of workstations. It is based on the use of Java language in order to ensure application portability and more particularly on the mechanism of thread CPU processing time measurement introduced in the version 1.5 of Sun Java. That tool will be integrated into the load balancing mechanism which is totally written in Java and that we developed in the LIFL project ADAJ. We show how to evaluate the potential power of the CPU with a software totally written in Java. Moreover, we will justify the results provided by our approach. We will also analyse the exploitation of the calibration tool in order to improve the execution time of parallel and distributed applications in the context of load balancing in a network of workstations.","PeriodicalId":62714,"journal":{"name":"骈文研究","volume":"11 1","pages":"155-159"},"PeriodicalIF":0.0,"publicationDate":"2004-07-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"72986527","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
One of the important issues facing the development of the grid as the computational framework of the future is availability of grid-enabled software. In this context, we discuss possible approaches to constructing a grid-enabled version of a computer algebra system. Our case study involves Maple: the proposed Maple2g package allows the connection between Maple and the computational grids based on the Globus Toolkit. We present the design of the Maple2g package and follow with a thorough discussion of its implementation.
{"title":"Extending Maple to the grid: design and implementation","authors":"D. Petcu, Diana Dubu, M. Paprzycki","doi":"10.1109/ISPDC.2004.25","DOIUrl":"https://doi.org/10.1109/ISPDC.2004.25","url":null,"abstract":"One of the important issues facing the development of the grid as the computational framework of the future is availability of grid-enabled software. In this context, we discuss possible approaches to constructing a grid-enabled version of a computer algebra system. Our case study involves Maple: the proposed Maple2g package allows the connection between Maple and the computational grids based on the Globus Toolkit. We present the design of the Maple2g package and follow with a thorough discussion of its implementation.","PeriodicalId":62714,"journal":{"name":"骈文研究","volume":"57 1","pages":"209-216"},"PeriodicalIF":0.0,"publicationDate":"2004-07-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"73277591","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The task of finding the least loaded node on a cluster or Grid computing system is necessary in load balancing and scheduling algorithms. Therefore, the lint step in these algorithms is usually a prediction of the CPU assignment or availability for a new task on each system node (inversely related to its workload). This paper presents the DYPAP monitor; a real-time monitoring utility responsible for periodically characterizing a node state and computing with this information the dynamic process assignment prediction (DYPAP) model. The goal of this model is to predict the CPU assignment of a workstation from measurements, without a priori knowledge about its state. An extensive set of experiments is presented to validate the DYPAP model and to evaluate the monitor performance in all kind of situations.
{"title":"Estimating a workstation CPU assignment with the DYPAP monitor","authors":"Marta Beltrán, J. L. Bosque","doi":"10.1109/ISPDC.2004.22","DOIUrl":"https://doi.org/10.1109/ISPDC.2004.22","url":null,"abstract":"The task of finding the least loaded node on a cluster or Grid computing system is necessary in load balancing and scheduling algorithms. Therefore, the lint step in these algorithms is usually a prediction of the CPU assignment or availability for a new task on each system node (inversely related to its workload). This paper presents the DYPAP monitor; a real-time monitoring utility responsible for periodically characterizing a node state and computing with this information the dynamic process assignment prediction (DYPAP) model. The goal of this model is to predict the CPU assignment of a workstation from measurements, without a priori knowledge about its state. An extensive set of experiments is presented to validate the DYPAP model and to evaluate the monitor performance in all kind of situations.","PeriodicalId":62714,"journal":{"name":"骈文研究","volume":"39 1","pages":"64-70"},"PeriodicalIF":0.0,"publicationDate":"2004-07-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"73685662","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
In this paper, the parallel resolution of the Langford problem is studied. Two different approaches are developed. First, an explicit construction of all the solutions is done using a shared memory. The application associated to this approach is written in C using the standard OpenMP library. Second, a parallelization of the algebraic method introduced by Godfrey is proposed. The application is taking advantage of MPI and has revealed efficient up to 128 processors. This solution opens up some new perspectives such as solving the already resolved instances of the problem more quickly and solving the next two open instances of the problem in a near future.
{"title":"Solving the Langford problem in parallel","authors":"Christophe Jaillet, M. Krajecki","doi":"10.1109/ISPDC.2004.46","DOIUrl":"https://doi.org/10.1109/ISPDC.2004.46","url":null,"abstract":"In this paper, the parallel resolution of the Langford problem is studied. Two different approaches are developed. First, an explicit construction of all the solutions is done using a shared memory. The application associated to this approach is written in C using the standard OpenMP library. Second, a parallelization of the algebraic method introduced by Godfrey is proposed. The application is taking advantage of MPI and has revealed efficient up to 128 processors. This solution opens up some new perspectives such as solving the already resolved instances of the problem more quickly and solving the next two open instances of the problem in a near future.","PeriodicalId":62714,"journal":{"name":"骈文研究","volume":"199 1","pages":"83-90"},"PeriodicalIF":0.0,"publicationDate":"2004-07-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"75958151","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Y. Ben-Asher, S. Berkovsky, Ariel Tammam, Edi Shmueli
In here we consider the problem of parallel execution of Join operation by a J2EE cluster. J2EE clusters are intended for coarse-grain distributed processing of multiple queries/business transactions over the Web. Thus, the possibility of using a J2EE cluster for fine-grain parallel computations (parallel Joins in our case) is intriguing and of practical interest. We have developed a new variant of the SFR algorithm for parallel computation of Cartesian Product in Join operations and proved its optimality in terms of communication/execution-time tradeoffs via a simple lower bound. Our experimental results show that despite the fact that J2EE is considered to be a platform that uses a complex interfaces and software entities, such as various types of Java beans, J2EE clusters can be efficiently used to execute Join operation in parallel.
{"title":"Using a J2EE cluster for parallel computation of join queries in distributed databases","authors":"Y. Ben-Asher, S. Berkovsky, Ariel Tammam, Edi Shmueli","doi":"10.1109/ISPDC.2004.57","DOIUrl":"https://doi.org/10.1109/ISPDC.2004.57","url":null,"abstract":"In here we consider the problem of parallel execution of Join operation by a J2EE cluster. J2EE clusters are intended for coarse-grain distributed processing of multiple queries/business transactions over the Web. Thus, the possibility of using a J2EE cluster for fine-grain parallel computations (parallel Joins in our case) is intriguing and of practical interest. We have developed a new variant of the SFR algorithm for parallel computation of Cartesian Product in Join operations and proved its optimality in terms of communication/execution-time tradeoffs via a simple lower bound. Our experimental results show that despite the fact that J2EE is considered to be a platform that uses a complex interfaces and software entities, such as various types of Java beans, J2EE clusters can be efficiently used to execute Join operation in parallel.","PeriodicalId":62714,"journal":{"name":"骈文研究","volume":"129 1","pages":"58-63"},"PeriodicalIF":0.0,"publicationDate":"2004-07-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"75483527","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
We present ParCop, a decentralized peer-to-peer (P2P) computing system. In ParCop, the data and tasks are mobilized and flow freely between the computational resources (peers). ParCop allows each peer to utilize as well as to offer computing resources. ParCop uses the P2P model to guard against common problems that other systems suffer from, such as server failure and connection bottleneck. ParCop supports the master/worker style of application, which can be broken down into non-communicating and independent tasks.
{"title":"ParCop: a decentralized peer-to-peer computing system","authors":"Nidal A. Al-Dmour, W. Teahan","doi":"10.1109/ISPDC.2004.40","DOIUrl":"https://doi.org/10.1109/ISPDC.2004.40","url":null,"abstract":"We present ParCop, a decentralized peer-to-peer (P2P) computing system. In ParCop, the data and tasks are mobilized and flow freely between the computational resources (peers). ParCop allows each peer to utilize as well as to offer computing resources. ParCop uses the P2P model to guard against common problems that other systems suffer from, such as server failure and connection bottleneck. ParCop supports the master/worker style of application, which can be broken down into non-communicating and independent tasks.","PeriodicalId":62714,"journal":{"name":"骈文研究","volume":"28 43","pages":"162-168"},"PeriodicalIF":0.0,"publicationDate":"2004-07-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"91512100","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The GridRPC model (Nakada et al., 2003) is an emerging standard promoted by the Global Grid Forum (GGF) that defines how to perform remote client-server computation on a distributed architecture. In this model data are sent back to the client at the end of every computation. This implies unnecessary communications when computed data are needed by another server in further computations. Since, communication time is sometimes the dominant cost of remote computation, this cost has to be lowered. Several tools instantiate the GridRPC model such as NetSolve which is a NES environment developed at the University of Tennessee, Knoxville. In this paper, we present the modifications we made to the NetSolve protocol in order to overcome this drawback. We have developed a set of new functions and data structures that allow clients to order servers to keep data in place and to redistribute them directly to another server when needed.
GridRPC模型(Nakada et al., 2003)是由全球网格论坛(GGF)推动的一个新兴标准,它定义了如何在分布式架构上执行远程客户机-服务器计算。在这个模型中,数据在每次计算结束时被发送回客户端。这意味着当另一台服务器在进一步计算中需要计算数据时,会产生不必要的通信。由于通信时间有时是远程计算的主要成本,因此必须降低该成本。有几个工具实例化了GridRPC模型,比如NetSolve,它是田纳西州诺克斯维尔大学开发的一个NES环境。在本文中,我们提出了我们对NetSolve协议所做的修改,以克服这一缺点。我们开发了一组新的函数和数据结构,允许客户端命令服务器将数据保存在适当的位置,并在需要时将它们直接重新分发到另一台服务器。
{"title":"Improving the GridRPC model with data persistence and redistribution","authors":"F. Desprez, E. Jeannot","doi":"10.1109/ISPDC.2004.31","DOIUrl":"https://doi.org/10.1109/ISPDC.2004.31","url":null,"abstract":"The GridRPC model (Nakada et al., 2003) is an emerging standard promoted by the Global Grid Forum (GGF) that defines how to perform remote client-server computation on a distributed architecture. In this model data are sent back to the client at the end of every computation. This implies unnecessary communications when computed data are needed by another server in further computations. Since, communication time is sometimes the dominant cost of remote computation, this cost has to be lowered. Several tools instantiate the GridRPC model such as NetSolve which is a NES environment developed at the University of Tennessee, Knoxville. In this paper, we present the modifications we made to the NetSolve protocol in order to overcome this drawback. We have developed a set of new functions and data structures that allow clients to order servers to keep data in place and to redistribute them directly to another server when needed.","PeriodicalId":62714,"journal":{"name":"骈文研究","volume":"70 1","pages":"193-200"},"PeriodicalIF":0.0,"publicationDate":"2004-07-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"78386190","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}