Preguntar a Google

Usted buscó: pair (Persa - Inglés)

Contribuciones humanas

De traductores profesionales, empresas, páginas web y repositorios de traducción de libre uso.

Añadir una traducción

Persa

Inglés

Información

Persa

Language pair not yet supported for automatic translation

Inglés

technical

Última actualización: 2012-08-21
Frecuencia de uso: 1
Calidad:

Persa

Language pair not yet supported for automatic translation

Inglés

Raptor

Última actualización: 2009-08-24
Frecuencia de uso: 1
Calidad:

Persa

The pair were subsequently forced to withdraw from the Olympics.

Inglés

The pair were subsequently forced to withdraw from the Olympics.

Última actualización: 2016-03-03
Frecuencia de uso: 1
Calidad:

Persa

A Taxonomy of Job Scheduling on Distributed Computing Systems Raquel V. Lopes, Member, IEEE, and Daniel Menasce´, Fellow, IEEE Abstract—Hundreds of papers on job scheduling for distributed systems are published every year and it becomes increasingly difficult to classify them. Our analysis revealed that half of these papers are barely cited. This paper presents a general taxonomy for scheduling problems and solutions in distributed systems. This taxonomy was used to classify and make publicly available the classification of 109 scheduling problems and their solutions. These 109 problems were further clustered into ten groups based on the features of the taxonomy. The proposed taxonomy will facilitate researchers to build on prior art, increase new research visibility, and minimize redundant effort. Index Terms—Taxonomy, scheduling, distributed jobs, cluster, grid computing, cloud computing. ◆ 1 INTRODUCTION N the last decade, cluster computing emerged as the main platform for high performance, grid, and cloud computing. Together, these three different, yet very simi- lar platforms, emerged as important sources of computing power. They all consist of distributed computers (or nodes) connected through high speed networks. Most of the scheduling problems are computationally hard [1], [2], [3], and they have been attracting the attention of researchers for decades. Thousands of solutions have been published, dealing with slightly different versions of a scheduling problem. Indeed, there are many knobs that may be tuned in order to clearly specify a scheduling problem of this nature. To the best of our knowledge, these knobs have not been defined for general scheduling problems, leading an important researcher to clamor for the need of a proper definition of scheduling problems: At the very minimum, we wish that all papers about job schedulers, either real or paper design, make clear their assumptions about the workload, the permissible actions allowed by the system, and the metric that is being optimized. [4] Twenty years later, the situation has not improved. So far, the many knobs needed to define a scheduling problem have been tuned on an ad hoc individual basis. It is time for change. While hundreds of papers on scheduling are published every year, it becomes increasingly difficult to easily identify scheduling problems and solutions. We are not aware of any general taxonomy to define job scheduling problems and solutions in distributed systems. This paper aims at shedding light on this scenario by defining such a R. Lopes is with the Departmento de Sistemas e Computac¸a˜o, Universi- dade Federal de Campina Grande, Paraiba, Brazil. E-mail: raquel@dsc.ufcg.edu.br D. Menasce´ is with Department of Computer Science, George Mason University, Fairfax, VA 22030. E-mail: menasce@gmu.edu. Manuscript received September 00, 2015 taxonomy and classifiying a great deal of papers through the use of this taxonomy. Early seminal work aimed at defining taxonomies to classify scheduling problems and solutions exist. An impor- tant work defines a taxonomy for distributed job scheduling solutions [5]. Another inspiring work defines a language to specify scheduling problems [6]. In spite of the inspiring nature of these seminal propositions, a general taxonomy that takes into account the new generation of distributed systems and scheduling problems and solutions is required. More recently, some researchers have defined tax- onomies for specific types of distributed platforms. How- ever, none try to cover a distributed system in general, as we argue is the most appropriate solution. The authors of [7] define a taxonomy of scheduling problems in grid computing platforms. Smanchat and Viriyapant [8] extend the grid taxonomy to define a taxonomy of scheduling problems in cloud computing. These taxonomies overlap in some aspects, especially those describing workload and solution, and at the same time, they are over-fitting models, not general to be applied to any kind of distributed platform known today. They consider properties that represent very specific details of each resource platform. For example, the grid taxonomy [7] only considers scheduling problems that target multi-criteria decision analysis involving cost. This excludes many scheduling problems in which cost is not considered or in which the scheduling goal considers one criterion, like minimization of makespan, that is historically the most popular scheduling goal. Some properties are highly coupled with grid environments such as the cost model flexibility, and intra and interdependence among scheduling criteria. The taxonomies of workflow scheduling techniques in the cloud assume that resources are virtual machines, which is not true for all distributed platforms, even for the cloud1. Some properties of the cloud taxonomy 1. Metal as a Service has recently arisen as a new model in which the cloud user deploys directly onto bare metal for optimum per- formance. OpenStack, for instance, is considering this new model (https://wiki.openstack.org/wiki/Ironic). are highly coupled with traditional cloud environments, such as VM startup latency and provisioning model (on- demand, reservation or spot). It is also important to point out that the taxonomies mentioned above fail to consider some properties that are important to clearly define scheduling problems and solu- tions. For instance, they do not define workload compo- sition in a complete fashion, neither resource sharing or scaling. They also do not consider important requirements such as data locality and failure model. Finally, they do not include properties that characterize the quality of service required by the workload. We argue that these and other features must be considered. We conclude that prior work in scheduling taxonomies is not generic or complete enough for classifying scheduling problems and solutions in distributed platforms. They either focus on specific resource categories and not distributed resources in general. We argue that a unified taxonomy is possible and, in fact, needed, in opposition to many specific overlapping taxonomies for each type of distributed platform. Moreover, hybrid infrastructures are increasingly common, in which different cloud or grid computing infras- tructures inter-operate [9], [10]; cases that can be modeled by a unified taxonomy. Finally and most importantly, it is easier to maintain a single taxonomy over the years than to maintain many different, overlapping ones. For these reasons, we have defined our own taxonomy to classify existing (and future) scheduling problems and solutions. The taxonomy targets the scheduling of jobs in distributed systems. The solution is clearly meaningless without the associated problem. The problem, however, can be useful alone for comparison reasons. So, we organize the taxonomy in such a way that the problem and the solution can be easily separated. We propose the use of the taxonomy to (i) instantiate different scheduling problems and (ii) classify different scheduling solutions. The contributions of this paper are four-fold. First, a comprehensive taxonomy for classifying scheduling prob- lems and solutions is defined. This taxonomy allows a researcher to define what is claimed, i.e., which portion of the scheduling problem space is being addressed and to define the properties of the scheduling solution in a com- prehensible fashion. This taxonomy provides a snapshot of the state-of-the-art of job scheduling in distributed systems. Second, we perform an analysis of the impact of a subset of 1058 papers related to job scheduling in distributed systems from 2005 to 2015 (May, 1st). Third, we apply the taxonomy to classify 109 scheduling problems and solutions published in the top-102 papers in the area, considering the number of citations per year. Finally, we publish an online scheduling archive, collaboratively constructed, in which classified scheduling problems and solutions may be found and others may be added. We found that almost 22% of the papers related to job scheduling in distributed systems are never cited; 12% of the papers in the area are responsible for 66% of all citations, and 40% of the papers are cited at most twice in their entire life. This is a sad indication that we are still crawling towards a real scientific methodology. We hope that by classifying the papers using a well-known taxonomy, researchers will be able to clearly indicate what kinds of problems and solutions they are claiming. As a consequence, the classification will allow new research to be built on top of the prior art and it will be easier to know the state-of-the- art regarding specific instantiations of scheduling problems. Richard Hamming detected a central problem of Com- puter Science during his Turning Award Lecture: Perhaps the central problem we face in all of com- puter science is how we are to get to the situation where we build on top of the work of others rather than redoing so much of it in a trivially different way. Science is supposed to be cumulative, not almost endless duplication of the same kind of things. [11] We believe that building an adequate taxonomy consti- tutes a first step towards the direction pointed by Ham- ming. Without proper mechanisms to classify work we are doomed to ignore what others have done. Other steps are still necessary. In particular, the discipline to use the taxonomy from now on and to maintain it up-to-date. An important action in this regard is to maintain an archive of scheduling problems and solutions based on the taxonomies. For that purpose, we created a web site, the DSS Archive (Distributed Systems Scheduling)2. We initially populated the site with the classification of 109 problems and their solutions. The idea is to collaboratively increase the number of papers cataloged. The site offers a form to fa- cilitate the inclusion of new scheduling problems/solutions in the archive. Researchers can download the data set with all the problems and solutions classified so far and then ma- nipulate the data using their statistical tools of preference3. The rest of this paper is organized as follows. Section 2 presents a background on scheduling theory and defines a scheduling problem. Section 3 introduces a taxonomy for scheduling in distributed systems that contemplates problems and solutions. Section 4 summarizes the research method and underlying review protocol, which was used to collect 1058 papers published in the last decade on job scheduling in distributed systems. The next section presents statistics about these papers including popularity and re- source categories considered. The taxonomy was used to classify 109 scheduling problems and respective solutions. The results are summarized in Section 6. Related work is discussed in Section 7. Section 8 concludes with recommen- dations for future research on the topic. 2 BACKGROUND ON SCHEDULING THEORY This section provides a conceptual model of scheduling problems and solutions in distributed computer systems. Some definitions in this section are based on previous work [2], [12]. We do not consider in this paper single- node scheduling problems, which have been thoroughly investigated in the field of operating systems. Scheduling is the assignment of resources to consumers in time. In general, every instance of a scheduling problem must clearly specify three components: • Workload, defines the consumers of the resources. In the context of this paper a workload is composed of 2. http://lsd.ufcg.edu.br/˜dssarchive 3. We provide R scripts to facilitate data manipulation. jobs, defined as a collection of computational tasks. Thus, a job j has nj tasks Tj, . . . , Tj . 1 nj • Resources, required to execute the workload, consist of a set of distributed nodes or computers, with one or more processing cores, connected by a, typically high- speed, network. These resources may be organized in computing clusters in a local environment or in widely distributed and scalable data centers [13]. Resources are assumed to be able to execute any type of computational task and consist of whole computing units, with main memory, storage devices and network access. We assume that nodes can only communicate through message exchange. • Scheduling requirements determine the scheduling goal and other requirements that must be met by the solution. Typically, the scheduling goal is to optimize one or a combination of performance metrics affected by scheduling decisions. Another important schedul- ing requirement is the scheduling level. It determines the granularity or the level of detail considered when making a scheduling decision. We consider two lev- els of scheduling decisions: job and task4. Scheduling is typically a dynamic activity: workload and resources may vary over time. In order to model these dy- namic aspects, we consider R+ to denote the set of time instants of interest, which may be discrete or continuous. At any time t the workload is composed by a set t of jobs. At any time t the resources consist of a set t of resources. Nevertheless, there are static properties of the workload and/or resources that do not change over time and are the core of our taxonomy. Let and represent the static aspects of the workload and resources respectively. Let be the set of scheduling requirements that must be satisfied. We define a scheduling problem as a tuple ( , , ). A scheduling solution is associated with a given scheduling problem. There may be more than one solution to the same problem. 3 SCHEDULING TAXONOMY IN DISTRIBUTED SYS- TEMS The proposed taxonomy is organized into two parts: one characterizes a scheduling problem and another a schedul- ing solution. The problem part (see Figure 1) consists of 17 static features that fall into three groups: workload (W), resources (R), and requirements (Q). 3.1 Workload description Seven features characterize the workload . 1 - Job source. Defines if jobs come from multiple users single user and if the workload consists of multiple-jobs or a single-job. Reasonable combinations are: single user/single- job, single-user/multi-job and multi-user/multi-job. When the workload comes from many users, scheduling is often per- formed from the provider standpoint. 4. Each task consists of one or more (lightweight) processes that must be scheduled at the computing node assigned to run the task. This constitutes a third level of scheduling, i.e., process-level, typically managed by the operating system. This level of scheduling is outside the scope of this paper. Fig. 1. Summary of static features related to a scheduling problem. 2 - Job structure. Defines the allowed number of tasks per job and the dependency relations and communication needs among the tasks. First, this feature defines if jobs are multi- or single-task. For multi-task jobs, one has to determine the task homogeneity. Tasks are homogeneous when they require similar resource demands and are hetero- geneous otherwise. The tasks of a job may have precedence constraints and communication needs to be satisfied, in which case they are dependent. Dependency between tasks often brings to the scheduling problem the challenge of data locality, since data transfers come at a cost. When there are neither precedence relations among the tasks nor communication needs, tasks are independent. Based on this discussion, the job structure may be: single-task, independent homogeneous multi-task, independent heterogeneous multi-task, dependent homogeneous multi-task or dependent heterogeneous multi-task. The trivial case of a single-job and single-task workload is not interesting and is not considered here. 3 - Job flexibility. Rigid jobs require a fixed quantity of resources and cannot execute on fewer or more resources. This quantity is defined by the user at job submission time. Other classes of jobs exist [4]: moldable, malleable and evolving. When a moldable job is submitted, some entity, possibly a scheduler, decides on the quantity of resources to provide the job. This quantity cannot be reconfigured during the job execution. Malleable jobs are moldable jobs whose computing requirements can change during execution by the scheduler or other system entity. Finally, evolving jobs are similar to malleable jobs, but the user decides, on the fly, about the quantity of resources to assign to the job. 4 - Arrival process. Determines the set of jobs consid- ered by the scheduler when making scheduling decisions. In an open workload model, jobs come to the system at any time and leave the system after being executed, i.e., the number of jobs in the system is not constant. In a closed workload, the number of jobs to be scheduled is fixed. 5 - Workload COMPOSITION. This feature is determined by the programming model, which drives the kinds of relation- ships that must hold between the tasks of a job. Some exam- ples include bags of tasks, in which all tasks are independent from one another, and MapReduce jobs, in which all map tasks must finish before the reduce tasks start execution. A workload may be formed by jobs that follow the same programming model or may be heterogeneous. A workload that consists of jobs of the same programming model may be classified as: same model/homogeneous, when jobs are similar in terms of structure, number of tasks and in terms of demands required; same model/same structure, when jobs are similar in terms of structure, number of tasks but differ in terms of demands required; or same model/diverse, when jobs use the same programming model but have different struc- ture, number of tasks, and resource demands. Dependence relations and communication patterns do not exist if jobs are single-task. As a consequence, when the workload consists of multiple single-task jobs, the workload composition must be same model/homogeneous or same model/same structure. 6 - Quality of service. Jobs may be associated to service level agreements (SLAs). Penalties may be imposed when SLAs are violated. These jobs are SLO aware, since they require service level objectives (SLOs) to be met. Jobs that are not associated to SLAs are considered best effort jobs. 7 - Real TIME. The workload may consist of real time jobs or non real time jobs. For the former case, we distinguish between real time jobs with hard deadlines and soft deadlines. We also consider whether tasks are periodic or aperiodic. A hard or soft real time workload is necessarily SLO aware. 3.2 Resource description We identified five features that characterize the resources. 1 - Resource heterogeneity. Homogeneous resource plat- forms consist of similar nodes in terms of processing power, storage, and networking capabilities. Heterogeneous resource platforms consist of nodes with different computing powers, in terms of processing, storage, or communication speeds. 2 - Resource scaling. The scheduler can see the re- sources it can use as a fixed or dynamic infrastructure in terms of processing capacity. Some infrastructures allow rapid capacity changes in response to variations in the work- load. The total capacity of a fixed-capacity resource platform does not vary in the short term. On the other hand, some distributed systems allow dynamic scaling. Three common situations lead to dynamically scalable infrastructures: (i) shutdown resources, when some nodes are turned off to save energy, temporarily reducing the online capacity of the infrastructure. The total capacity is rapidly restored by turning on the machines; (ii) outsourcing, when it is possible to rapidly acquire resources from other resource providers, such as infrastructure as a service (IaaS) providers or grid peers; (iii) DVFS, when Dynamic Voltage and Frequen

Inglés

A Taxonomy of Job Scheduling on Distributed Computing Systems Raquel V. Lopes, Member, IEEE, and Daniel Menasce´, Fellow, IEEE Abstract—Hundreds of papers on job scheduling for distributed systems are published every year and it becomes increasingly difficult to classify them. Our analysis revealed that half of these papers are barely cited. This paper presents a general taxonomy for scheduling problems and solutions in distributed systems. This taxonomy was used to classify and make publicly available the classification of 109 scheduling problems and their solutions. These 109 problems were further clustered into ten groups based on the features of the taxonomy. The proposed taxonomy will facilitate researchers to build on prior art, increase new research visibility, and minimize redundant effort. Index Terms—Taxonomy, scheduling, distributed jobs, cluster, grid computing, cloud computing. ◆ 1 INTRODUCTION N the last decade, cluster computing emerged as the main platform for high performance, grid, and cloud computing. Together, these three different, yet very simi- lar platforms, emerged as important sources of computing power. They all consist of distributed computers (or nodes) connected through high speed networks. Most of the scheduling problems are computationally hard [1], [2], [3], and they have been attracting the attention of researchers for decades. Thousands of solutions have been published, dealing with slightly different versions of a scheduling problem. Indeed, there are many knobs that may be tuned in order to clearly specify a scheduling problem of this nature. To the best of our knowledge, these knobs have not been defined for general scheduling problems, leading an important researcher to clamor for the need of a proper definition of scheduling problems: At the very minimum, we wish that all papers about job schedulers, either real or paper design, make clear their assumptions about the workload, the permissible actions allowed by the system, and the metric that is being optimized. [4] Twenty years later, the situation has not improved. So far, the many knobs needed to define a scheduling problem have been tuned on an ad hoc individual basis. It is time for change. While hundreds of papers on scheduling are published every year, it becomes increasingly difficult to easily identify scheduling problems and solutions. We are not aware of any general taxonomy to define job scheduling problems and solutions in distributed systems. This paper aims at shedding light on this scenario by defining such a R. Lopes is with the Departmento de Sistemas e Computac¸a˜o, Universi- dade Federal de Campina Grande, Paraiba, Brazil. E-mail: raquel@dsc.ufcg.edu.br D. Menasce´ is with Department of Computer Science, George Mason University, Fairfax, VA 22030. E-mail: menasce@gmu.edu. Manuscript received September 00, 2015 taxonomy and classifiying a great deal of papers through the use of this taxonomy. Early seminal work aimed at defining taxonomies to classify scheduling problems and solutions exist. An impor- tant work defines a taxonomy for distributed job scheduling solutions [5]. Another inspiring work defines a language to specify scheduling problems [6]. In spite of the inspiring nature of these seminal propositions, a general taxonomy that takes into account the new generation of distributed systems and scheduling problems and solutions is required. More recently, some researchers have defined tax- onomies for specific types of distributed platforms. How- ever, none try to cover a distributed system in general, as we argue is the most appropriate solution. The authors of [7] define a taxonomy of scheduling problems in grid computing platforms. Smanchat and Viriyapant [8] extend the grid taxonomy to define a taxonomy of scheduling problems in cloud computing. These taxonomies overlap in some aspects, especially those describing workload and solution, and at the same time, they are over-fitting models, not general to be applied to any kind of distributed platform known today. They consider properties that represent very specific details of each resource platform. For example, the grid taxonomy [7] only considers scheduling problems that target multi-criteria decision analysis involving cost. This excludes many scheduling problems in which cost is not considered or in which the scheduling goal considers one criterion, like minimization of makespan, that is historically the most popular scheduling goal. Some properties are highly coupled with grid environments such as the cost model flexibility, and intra and interdependence among scheduling criteria. The taxonomies of workflow scheduling techniques in the cloud assume that resources are virtual machines, which is not true for all distributed platforms, even for the cloud1. Some properties of the cloud taxonomy 1. Metal as a Service has recently arisen as a new model in which the cloud user deploys directly onto bare metal for optimum per- formance. OpenStack, for instance, is considering this new model (https://wiki.openstack.org/wiki/Ironic). are highly coupled with traditional cloud environments, such as VM startup latency and provisioning model (on- demand, reservation or spot). It is also important to point out that the taxonomies mentioned above fail to consider some properties that are important to clearly define scheduling problems and solu- tions. For instance, they do not define workload compo- sition in a complete fashion, neither resource sharing or scaling. They also do not consider important requirements such as data locality and failure model. Finally, they do not include properties that characterize the quality of service required by the workload. We argue that these and other features must be considered. We conclude that prior work in scheduling taxonomies is not generic or complete enough for classifying scheduling problems and solutions in distributed platforms. They either focus on specific resource categories and not distributed resources in general. We argue that a unified taxonomy is possible and, in fact, needed, in opposition to many specific overlapping taxonomies for each type of distributed platform. Moreover, hybrid infrastructures are increasingly common, in which different cloud or grid computing infras- tructures inter-operate [9], [10]; cases that can be modeled by a unified taxonomy. Finally and most importantly, it is easier to maintain a single taxonomy over the years than to maintain many different, overlapping ones. For these reasons, we have defined our own taxonomy to classify existing (and future) scheduling problems and solutions. The taxonomy targets the scheduling of jobs in distributed systems. The solution is clearly meaningless without the associated problem. The problem, however, can be useful alone for comparison reasons. So, we organize the taxonomy in such a way that the problem and the solution can be easily separated. We propose the use of the taxonomy to (i) instantiate different scheduling problems and (ii) classify different scheduling solutions. The contributions of this paper are four-fold. First, a comprehensive taxonomy for classifying scheduling prob- lems and solutions is defined. This taxonomy allows a researcher to define what is claimed, i.e., which portion of the scheduling problem space is being addressed and to define the properties of the scheduling solution in a com- prehensible fashion. This taxonomy provides a snapshot of the state-of-the-art of job scheduling in distributed systems. Second, we perform an analysis of the impact of a subset of 1058 papers related to job scheduling in distributed systems from 2005 to 2015 (May, 1st). Third, we apply the taxonomy to classify 109 scheduling problems and solutions published in the top-102 papers in the area, considering the number of citations per year. Finally, we publish an online scheduling archive, collaboratively constructed, in which classified scheduling problems and solutions may be found and others may be added. We found that almost 22% of the papers related to job scheduling in distributed systems are never cited; 12% of the papers in the area are responsible for 66% of all citations, and 40% of the papers are cited at most twice in their entire life. This is a sad indication that we are still crawling towards a real scientific methodology. We hope that by classifying the papers using a well-known taxonomy, researchers will be able to clearly indicate what kinds of problems and solutions they are claiming. As a consequence, the classification will allow new research to be built on top of the prior art and it will be easier to know the state-of-the- art regarding specific instantiations of scheduling problems. Richard Hamming detected a central problem of Com- puter Science during his Turning Award Lecture: Perhaps the central problem we face in all of com- puter science is how we are to get to the situation where we build on top of the work of others rather than redoing so much of it in a trivially different way. Science is supposed to be cumulative, not almost endless duplication of the same kind of things. [11] We believe that building an adequate taxonomy consti- tutes a first step towards the direction pointed by Ham- ming. Without proper mechanisms to classify work we are doomed to ignore what others have done. Other steps are still necessary. In particular, the discipline to use the taxonomy from now on and to maintain it up-to-date. An important action in this regard is to maintain an archive of scheduling problems and solutions based on the taxonomies. For that purpose, we created a web site, the DSS Archive (Distributed Systems Scheduling)2. We initially populated the site with the classification of 109 problems and their solutions. The idea is to collaboratively increase the number of papers cataloged. The site offers a form to fa- cilitate the inclusion of new scheduling problems/solutions in the archive. Researchers can download the data set with all the problems and solutions classified so far and then ma- nipulate the data using their statistical tools of preference3. The rest of this paper is organized as follows. Section 2 presents a background on scheduling theory and defines a scheduling problem. Section 3 introduces a taxonomy for scheduling in distributed systems that contemplates problems and solutions. Section 4 summarizes the research method and underlying review protocol, which was used to collect 1058 papers published in the last decade on job scheduling in distributed systems. The next section presents statistics about these papers including popularity and re- source categories considered. The taxonomy was used to classify 109 scheduling problems and respective solutions. The results are summarized in Section 6. Related work is discussed in Section 7. Section 8 concludes with recommen- dations for future research on the topic. 2 BACKGROUND ON SCHEDULING THEORY This section provides a conceptual model of scheduling problems and solutions in distributed computer systems. Some definitions in this section are based on previous work [2], [12]. We do not consider in this paper single- node scheduling problems, which have been thoroughly investigated in the field of operating systems. Scheduling is the assignment of resources to consumers in time. In general, every instance of a scheduling problem must clearly specify three components: • Workload, defines the consumers of the resources. In the context of this paper a workload is composed of 2. http://lsd.ufcg.edu.br/˜dssarchive 3. We provide R scripts to facilitate data manipulation. jobs, defined as a collection of computational tasks. Thus, a job j has nj tasks Tj, . . . , Tj . 1 nj • Resources, required to execute the workload, consist of a set of distributed nodes or computers, with one or more processing cores, connected by a, typically high- speed, network. These resources may be organized in computing clusters in a local environment or in widely distributed and scalable data centers [13]. Resources are assumed to be able to execute any type of computational task and consist of whole computing units, with main memory, storage devices and network access. We assume that nodes can only communicate through message exchange. • Scheduling requirements determine the scheduling goal and other requirements that must be met by the solution. Typically, the scheduling goal is to optimize one or a combination of performance metrics affected by scheduling decisions. Another important schedul- ing requirement is the scheduling level. It determines the granularity or the level of detail considered when making a scheduling decision. We consider two lev- els of scheduling decisions: job and task4. Scheduling is typically a dynamic activity: workload and resources may vary over time. In order to model these dy- namic aspects, we consider R+ to denote the set of time instants of interest, which may be discrete or continuous. At any time t the workload is composed by a set t of jobs. At any time t the resources consist of a set t of resources. Nevertheless, there are static properties of the workload and/or resources that do not change over time and are the core of our taxonomy. Let and represent the static aspects of the workload and resources respectively. Let be the set of scheduling requirements that must be satisfied. We define a scheduling problem as a tuple ( , , ). A scheduling solution is associated with a given scheduling problem. There may be more than one solution to the same problem. 3 SCHEDULING TAXONOMY IN DISTRIBUTED SYS- TEMS The proposed taxonomy is organized into two parts: one characterizes a scheduling problem and another a schedul- ing solution. The problem part (see Figure 1) consists of 17 static features that fall into three groups: workload (W), resources (R), and requirements (Q). 3.1 Workload description Seven features characterize the workload . 1 - Job source. Defines if jobs come from multiple users single user and if the workload consists of multiple-jobs or a single-job. Reasonable combinations are: single user/single- job, single-user/multi-job and multi-user/multi-job. When the workload comes from many users, scheduling is often per- formed from the provider standpoint. 4. Each task consists of one or more (lightweight) processes that must be scheduled at the computing node assigned to run the task. This constitutes a third level of scheduling, i.e., process-level, typically managed by the operating system. This level of scheduling is outside the scope of this paper. Fig. 1. Summary of static features related to a scheduling problem. 2 - Job structure. Defines the allowed number of tasks per job and the dependency relations and communication needs among the tasks. First, this feature defines if jobs are multi- or single-task. For multi-task jobs, one has to determine the task homogeneity. Tasks are homogeneous when they require similar resource demands and are hetero- geneous otherwise. The tasks of a job may have precedence constraints and communication needs to be satisfied, in which case they are dependent. Dependency between tasks often brings to the scheduling problem the challenge of data locality, since data transfers come at a cost. When there are neither precedence relations among the tasks nor communication needs, tasks are independent. Based on this discussion, the job structure may be: single-task, independent homogeneous multi-task, independent heterogeneous multi-task, dependent homogeneous multi-task or dependent heterogeneous multi-task. The trivial case of a single-job and single-task workload is not interesting and is not considered here. 3 - Job flexibility. Rigid jobs require a fixed quantity of resources and cannot execute on fewer or more resources. This quantity is defined by the user at job submission time. Other classes of jobs exist [4]: moldable, malleable and evolving. When a moldable job is submitted, some entity, possibly a scheduler, decides on the quantity of resources to provide the job. This quantity cannot be reconfigured during the job execution. Malleable jobs are moldable jobs whose computing requirements can change during execution by the scheduler or other system entity. Finally, evolving jobs are similar to malleable jobs, but the user decides, on the fly, about the quantity of resources to assign to the job. 4 - Arrival process. Determines the set of jobs consid- ered by the scheduler when making scheduling decisions. In an open workload model, jobs come to the system at any time and leave the system after being executed, i.e., the number of jobs in the system is not constant. In a closed workload, the number of jobs to be scheduled is fixed. 5 - Workload COMPOSITION. This feature is determined by the programming model, which drives the kinds of relation- ships that must hold between the tasks of a job. Some exam- ples include bags of tasks, in which all tasks are independent from one another, and MapReduce jobs, in which all map tasks must finish before the reduce tasks start execution. A workload may be formed by jobs that follow the same programming model or may be heterogeneous. A workload that consists of jobs of the same programming model may be classified as: same model/homogeneous, when jobs are similar in terms of structure, number of tasks and in terms of demands required; same model/same structure, when jobs are similar in terms of structure, number of tasks but differ in terms of demands required; or same model/diverse, when jobs use the same programming model but have different struc- ture, number of tasks, and resource demands. Dependence relations and communication patterns do not exist if jobs are single-task. As a consequence, when the workload consists of multiple single-task jobs, the workload composition must be same model/homogeneous or same model/same structure. 6 - Quality of service. Jobs may be associated to service level agreements (SLAs). Penalties may be imposed when SLAs are violated. These jobs are SLO aware, since they require service level objectives (SLOs) to be met. Jobs that are not associated to SLAs are considered best effort jobs. 7 - Real TIME. The workload may consist of real time jobs or non real time jobs. For the former case, we distinguish between real time jobs with hard deadlines and soft deadlines. We also consider whether tasks are periodic or aperiodic. A hard or soft real time workload is necessarily SLO aware. 3.2 Resource description We identified five features that characterize the resources. 1 - Resource heterogeneity. Homogeneous resource plat- forms consist of similar nodes in terms of processing power, storage, and networking capabilities. Heterogeneous resource platforms consist of nodes with different computing powers, in terms of processing, storage, or communication speeds. 2 - Resource scaling. The scheduler can see the re- sources it can use as a fixed or dynamic infrastructure in terms of processing capacity. Some infrastructures allow rapid capacity changes in response to variations in the work- load. The total capacity of a fixed-capacity resource platform does not vary in the short term. On the other hand, some distributed systems allow dynamic scaling. Three common situations lead to dynamically scalable infrastructures: (i) shutdown resources, when some nodes are turned off to save energy, temporarily reducing the online capacity of the infrastructure. The total capacity is rapidly restored by turning on the machines; (ii) outsourcing, when it is possible to rapidly acquire resources from other resource providers, such as infrastructure as a service (IaaS) providers or grid peers; (iii) DVFS, when Dynamic Voltage and Frequen

Última actualización: 2019-05-14
Frecuencia de uso: 1
Calidad:

Referencia: Anónimo

Persa

Finding similar Items* Simple Simhashing* Set Similarity & MinHash - C# implementation* Minhash with LSH for all-pair search (C# implementation)* MinHash – Java implementation* All pairs similarity search (Google Research)* Distance and Similarity Measures(Wolfram Alpha)* Nilsimsa hash (Python implementation)* Simhash

Inglés

Finding similar Items*Simple Simhashing*Set Similarity & MinHash - C# implementation*Minhash with LSH for all-pair search (C# implementation)*MinHash – Java implementation*MinHash – Scala implementation and a duplicate detection tool*All pairs similarity search (Google Research)*Distance and Similarity Measures(Wolfram Alpha)*Nilsimsa hash (Python implementation)*Simhash==References==

Última actualización: 2016-03-03
Frecuencia de uso: 1
Calidad:

Referencia: Anónimo
Advertencia: contiene formato HTML invisible

Persa

=== پیاده‌سازی پارسر در C++ ===کد زیر پیاده‌سازی مثال مطرح شده در زبان C++ است:int main(int argc, char **argv)using namespace std;if (argc pair to actionmap ss; // symbol stackchar *p; // input buffer// initialize the symbols stackss.push(TS_EOS); // terminal, $ss.push(NTS_S); // non-terminal, S// initialize the symbol stream cursorp = &argv;// setup the parsing tabletable = 2;table = 3;while(ss.size()> 0)if(lexer(*p) == ss.top())cout «"Matched symbols: " «lexer(*p) «endl;p++;ss.pop();elsecout «"Rule " «table[ss.top()][lexer(*p)] «endl;switch(table[ss.top()][lexer(*p)])case 1: // 1.

Inglés

In this case the parser will report that it has accepted the input string and write the following list of rule numbers to the output stream:: [ 2, 1, 3, 3 ]This is indeed a list of rules for a leftmost derivation of the input string, which is:: S → ( S + F ) → ( F + F ) → ( a + F ) → ( a + a )===Parser implementation in C++===Below follows a C++ implementation of a table-based LL parser for the example language:===Parser implementation in Python===== Remarks ==As can be seen from the example the parser performs three types of steps depending on whether the top of the stack is a nonterminal, a terminal or the special symbol $:* If the top is a nonterminal then it looks up in the parsing table on the basis of this nonterminal and the symbol on the input stream which rule of the grammar it should use to replace it with on the stack.

Última actualización: 2016-03-03
Frecuencia de uso: 1
Calidad:

Referencia: Anónimo
Advertencia: contiene formato HTML invisible

Persa

* pkgsrc qmail and qmail-run, a pair of easy-to-install cross-platform qmail source packages included in pkgsrc* The qmail section of FAQTS, an extensive knowledgebase built by qmail users* qmailWiki is a relatively new ویکی about qmail, hosted by Inter7*J.M.Simpson qmail site Useful Information about qmail, including explanations and patches, by John M. Simpson (Updated regularly)* Unofficial qmail Bug and Wishlist* qmail queue messages deliver (PHP)* qmail-distributions - qmail patches combined into easy to use distributions* IndiMail - A Modern, Modular Mailserver using qmail as MTA.

Inglés

* pkgsrc qmail and qmail-run, a pair of easy-to-install cross-platform qmail source packages included in pkgsrc* The qmail section of FAQTS, an extensive knowledgebase built by qmail users* qmailWiki is a relatively new wiki about qmail, hosted by Inter7*J.M.Simpson qmail site Useful Information about qmail, including explanations and patches, by John M. Simpson (Updated regularly)* Unofficial qmail Bug and Wishlist* qmail queue messages deliver (PHP)* qmail-distributions - qmail patches combined into easy to use distributions* IndiMail - A Modern, Modular Mailserver using qmail as MTA.

Última actualización: 2016-03-03
Frecuencia de uso: 1
Calidad:

Referencia: Anónimo

Persa

در الکترونیک، ترانزیستور دارلینگتون که اغلب زوج دارلینگتون (به انگلیسی:"Darlington pair") نامیده می‌شود یک ساختار ترکیبی است که شامل دو ترانزیستور دو قطبی (به صورت مجتمع یا قطعات مجزا) به هم متصل است.

Inglés

In electronics, the Darlington transistor (often called a Darlington pair) is a compound structure consisting of two bipolar transistors (either integrated or separated devices) connected in such a way that the current amplified by the first transistor is amplified further by the second one.

Última actualización: 2016-03-03
Frecuencia de uso: 1
Calidad:

Referencia: Anónimo
Advertencia: contiene formato HTML invisible

Persa

یک موتور سنکرون سه فاز, 12-pole (6-pole-pair) عملیاتی است در یک AC supply frequency of 50 Hz.

Inglés

===Example===A 3-phase, 12-pole (6-pole-pair) synchronous motor is operating at an AC supply frequency of 50 Hz.

Última actualización: 2016-03-03
Frecuencia de uso: 1
Calidad:

Referencia: Anónimo

Obtenga una traducción de calidad con
4,401,923,520 contribuciones humanas

Usuarios que están solicitando ayuda en este momento:



Utilizamos cookies para mejorar nuestros servicios. Al continuar navegando está aceptando su uso. Más información. De acuerdo