Maciej Drozdowski

Maciej Drozdowski
Poznan University of Technology · Institute of Computing Science

prof.

About

118
Publications
5,955
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
2,207
Citations
Additional affiliations
January 2000 - July 2007
Adam Mickiewicz University
Position
  • Professor (Associate)
September 1994 - February 1995
Memorial University of Newfoundland
Position
  • PostDoc Position
October 1987 - present
Poznan University of Technology
Position
  • Professor

Publications

Publications (118)
Article
In this paper selection of fast algorithm portfolios for 2SP packing problem is considered. The 2SP problem consists in placing rectangles on a strip of the given width for minimum strip length. The 2SP packing has application in many industries, but suitability of the related algorithms is limited by their runtimes. While solving combinatorial opt...
Chapter
Effective heat energy demand prediction is essential in combined heat power systems. The algorithms considered so far do not sufficiently take into account the computational costs and ease of implementation in industrial systems. However, computational cost is of key importance in edge and IoT systems, where prediction algorithms are constantly upd...
Article
Full-text available
In distributed computing, divisible load theory provides an important system model for allocation of data-intensive computations to processing units working in parallel. The main task is to define how a computation job should be split into parts, to which processors those parts should be allocated and in which sequence. The model is characterized b...
Article
This paper considers algorithm selection for the berth allocation problem (BAP) under algorithm runtime limits. BAP consists in scheduling ships on berths subject to ship ready times and size constraints, for a certain objective function. For the purposes of strategic port capacity planning, BAP must be solved many times in extensive simulations, n...
Article
Full-text available
We analyze time and energy performance of distributed computations in heterogeneous systems with hierarchical memory. Different levels of memory hierarchy have different time and energy efficiency. Core memory may be too small to hold whole load to be processed, while computations using external storage are expensive in time and energy. In order to...
Chapter
In this paper we analyze impact of memory hierarchy on divisible load processing. Current computer systems have hierarchical memory systems. The core memory is fast but small, the external memory is large but slow. It is possible to avoid using external memory by parallelizing computations or by processing smaller work chunks sequentially. We will...
Article
This work focuses on the minimum cost flow problem in dynamic graphs. The model here proposed does not have travel time nor storage but all other parameters are time-dependent. The most popular method to solve this kind of problem uses the time-expanded graph but due to the large size of this graph, this solution technique is not manageable on a lo...
Chapter
Parallelizing of the supply chain simulator is considered in this paper. The simulator is a key element of the algorithm optimizing inventory levels and order sizes in a two-echelon logistic system. The mode of operation of the logistic system and the optimization problem are defined first. Then, the inventory optimization algorithm is introduced....
Article
In this paper, we analyze applicability of various load-balancing methods in countering data skew in MapReduce computations. A MapReduce job consists of several phases: mapping, shuffling data, sorting and reducing. The distribution of the work in the last three phases is data-driven, and unequal distribution of the data keys may cause imbalance in...
Article
This paper addresses one-machine scheduling with maintenance restrictions. A maintenance operation is position dependent in a sequence of normal jobs if the maintenance has to be performed after at most some defined number of job changes on the machine. We show that several problems with objective functions Cmax and Lmax are still solvable in polyn...
Article
In this paper tag cloud construction for web exposition is studied. Construction of a tag cloud must simultaneously solve at least three interdisciplinary engineering problems: modeling and controlling graphics aesthetics, solving discrete two-dimensional layout optimization problem, and all these must be done on computationally constrained browser...
Chapter
In this paper we consider scheduling distributed divisible computations in systems with hierarchical memory for energy and time performance criteria. Hierarchical memory allows to conduct computations on big data sets using out-of-core processing instead of coercing application data fit into core storage. However, out-of-core computations are more...
Article
A CSS-sprite packing problem is considered in this article. CSS-sprite is a technique of combining many pictures of a web page into one image for the purpose of reducing network transfer time. The CSS-sprite packing problem is formulated here as an optimization challenge. The significance of geometric packing, image compression and communication pe...
Article
Full-text available
In this paper we analyze the impact of memory hierarchies on time-energy trade-off in parallel computations. Contemporary computing systems have deep memory hierarchies with significantly different speeds and power consumptions. This results in nonlinear phenomena in the processing time and energy usage emerging when the size of the computation is...
Article
We analyze scheduling multilayer divisible computations. Multilayer computations consist of a chain of parallel applications, such that one application produces input for the next one. A simple form of multilayer computations are MapReduce parallel applications. The operations of mapping and reducing are two divisible applications with precedence c...
Article
Full-text available
In this paper we study differences between contiguous and non-contiguous parallel task schedules. Parallel tasks can be executed on more than one processor simultaneously. In the contiguous schedules, indices of the processors assigned to a task must be a sequence of consecutive numbers. In the non-contiguous schedules, processor indices may be arb...
Article
Search engine ranking position is essential for marketing plans of many e-businesses. There is a lot of confusion over factors influencing this position. One of them is time performance factor. The purpose of this paper is to identify the role of load time factor in the algorithm ranking the search results in Google. We present empirical study of 4...
Technical Report
Full-text available
Algorithms for mitigating imbalance of the MapReduce computations are considered in this paper. MapReduce is a new paradigm of processing big datasets in parallel. A MapReduce job consists of two phases of mapping and reducing. In the latter phase computation completion times may become imbalanced due to unequal distribution of the data. We propose...
Article
Full-text available
What is the minimum tour visiting all lines in a subway network? In this paper we study the problem of constructing the shortest tour visiting all lines of a city railway system. This combinatorial optimization problem has links with the classic graph circuit problems and operations research. A broad set of fast algorithms is proposed and evaluated...
Conference Paper
Full-text available
Tag clouds provide a graphical method of summarizing content of a text document (e.g. of a web page) with a set of phrases projected onto a plane. In this paper we consider building aesthetic tag clouds algorithmically for website use. General design choices in tag-cloud construction are analyzed. State of the art will be outlined along the lines o...
Conference Paper
Full-text available
In this paper we analyze handling partitioning skew in MapReduce computations. The basic MapReduce implementations strongly depend on the assumption that the data is partitioned evenly for reducing. However, in practical applications the data distribution is often skewed, what leads to decreasing MapReduce system performance. Using divisible load t...
Article
Advertising is the basic source of income for many web businesses. Preparing website layout for the advertisements is a problem faced by many web designers. The ads and other content are placed in several columns. Usually column widths are chosen ad hoc to fit the widest advertising unit. To make a more informed decisions website column width selec...
Article
Energy consumption has become a factor limiting further progress of supercomputing. Grasping the relationships determining transformation of energy into computations is often difficult. Therefore, we propose a new method of visualizing the relationships as two-dimensional maps similar to isotherms or isobars in the weather maps. Complex models of e...
Article
In this paper we present two hyper-heuristics developed for the Cross-Domain Heuristic Search Challenge. Hyper-heuristics solve hard combinatorial problems by guiding low level heuristics, rather than by manipulating problem solutions directly. Two hyper-heuristics are presented: Five Phase Approach and Genetic Hive. Development paths of the algori...
Article
The problem considered in this paper can be expressed as a question: Is it possible to visit all Tube lines in a day? This is a new type of combinatorial optimization problem which generalizes classic problems like TSP, set cover. It has similarities with classic combinatorial optimization problems and ties with operations research applications. We...
Conference Paper
In this paper we present two hyper-heuristics: Five Phase Approach (5Ph) and Genetic Hive (GH), developed for the Cross-Domain Heuristic Search Challenge held in 2011. Performance of both methods is studied. Experience gained in construction of the hyper-heuristics is presented. Conclusions and recommendations for the future advancement of hyper-he...
Conference Paper
Full-text available
Flowshop is an example of a classic hard combinatorial problem. Branch-and-bound is a technique commonly used for solving such hard problems. Together, the two can be used as a benchmark of maturity of parallel processing environment. Grid systems pose a number of hurdles which must be overcome in practical applications. We give a report on applyin...
Article
In this paper we analyze MapReduce distributed computations as a divisible load scheduling problem. The two operations of mapping and reducing can be understood as two divisible applications with precedence constraints. A divisible load model of the computation, and two load partitioning algorithms are proposed. Performance limits of MapReduce comp...
Article
In this paper, we propose a new technique of presenting performance relationships in parallel processing. Performance of parallel processing is a hard matter with many counterintuitive phenomena. It is relatively easy to obtain some numerical indicators of the performance using various performance models. However, it is far more difficult to compre...
Article
In this paper scheduling divisible loads in systems with limited memory is examined. Divisible loads are parallel computations which can be arbitrarily divided into parts independently processed on remote processors. The scheduling problem consists in distributing the load, taking into account communication and computation time, and limited memory...
Chapter
In this chapter, we consider scheduling with communication delays. This model assumes that a parallel application is a set of sequential communicating processes (or threads) which can be represented as a directed acyclic graph (DAG). Execution of the tasks in a distributed system causes communication delays if the predecessor and the successor task...
Article
In this paper we study divisible load scheduling in systems with limited memory. Divisible loads are parallel computations which can be divided into independent parts processed in parallel on remote computers, and the part sizes may be arbitrary. The distributed system is a heterogeneous single level tree. The total size of processor memories is to...
Conference Paper
Full-text available
In this paper we analyze energy usage in divisible load pro- cessing. Divisible load theory (DLT) applies to computations which can be divided into parts of arbitrary sizes, and the parts can be indepen- dently processed in parallel. The shortest schedule for divisible load pro- cessing is determined by the speed of computation and communication. E...
Conference Paper
Full-text available
In this paper we study divisible load scheduling in systems with limited memory. Divisible loads represent computations which can be arbitrarily divided into parts and performed independently in parallel. The scheduling problem consists in distributing the load in a heterogeneous system taking into account communication and computation times, and l...
Article
In this chapter, we outline the terminology of the classic deterministic scheduling theory. Examples of algorithms for basic problems of scheduling on parallel systems will be presented. Finally, we discuss advantages and disadvantages of this scheduling model. Classic deterministic scheduling theory collected a great body of knowledge which is com...
Article
In this chapter, we study scheduling of divisible loads (DL). This model of parallel processing assumes that the computation can be divided into parts of arbitrary sizes, and these parts can be independently processed in parallel. The two assumptions on arbitrary divisibility and independence of execution are in fact very strong. The grains of para...
Article
In this chapter, we examine vision of scheduling parallel applications which exist at various levels of computer systems. In other words this chapter is dedicated to the technical foundations of scheduling in parallel computing. We will study three elements of a parallel system: hardware, programming environment, i.e. programmer abstraction of the...
Article
In this chapter, we study the scheduling model of parallel tasks. It is assumed that a parallel task may use more than one processor at the same time. This relaxation departs from one of the classic scheduling assumptions (Sect. 4.1). Before proceeding with the further presentation let us comment on the naming conventions. Different names have been...
Article
In the preceding chapters we presented some technical background of scheduling in parallel systems. This included both the “technology” of mathematical analysis tools and the technology of parallel processing. Four different views of scheduling for parallel processing were analyzed in the form of four different scheduling models. In this chapter, w...
Chapter
In this chapter, we present notions shared across the book. The purpose of this chapter is not only to define terms and notions, which may be known to the reader, but also to disambiguate some of them. Graph theory models are often used in scheduling. Therefore, we will introduce basic definitions of the graph theory. Most of the scheduling problem...
Book
This book presents scheduling models for parallel processing, problems defined on the grounds of certain scheduling models, and algorithms solving the scheduling problems. The book also provides helpful generalizations about scheduling models. Features: Introduces the fundamental scheduling concepts; Discusses the technological aspects of schedulin...
Technical Report
Full-text available
In this paper we analyze MapReduce distributed computations as divisible load scheduling problem. The two operations of mapping and reducing can be understood as two divisible applications with precedence constraints. A divisible load model is proposed, and schedule dominance properties are analyzed. We investigate dominant schedule structures for...
Article
In this paper we analyze scheduling multiple divisible loads on a star-connected system of identical processors. It is shown that this problem is computationally hard. Some special cases appear to be particularly difficult, so it is not even known if they belong to the class NP. Exponential algorithms and special cases solvable in polynomial time a...
Technical Report
Full-text available
In this paper we study divisible load scheduling in systems with limited memory. Divisible loads are parallel computations which can be divided into independent parts of arbitrary sizes and processed in parallel on remote computers. The problem consists in distributing the load taking into account communication time, computation time, and limited m...
Article
Divisible loads are parallel applications with fine granularity and negligible data dependencies. Such computations can be divided into parts of arbitrary sizes and processed independently in parallel. The load distribution process incurs considerable communication delays. To reduce processor waiting time during the computation initialization phase...
Conference Paper
In this paper we study multi-installment divisible load processing in a heterogeneous distributed system with limited memory. Divisible load model applies to computations which can be arbitrarily divided into parts and performed independently in parallel. The initial waiting for the load may be shortened by sending many small chunks of load instead...
Article
Full-text available
In this paper we study master-worker scheduling of divisible loads in heterogeneous distributed systems. Divisible loads are computations that can be arbitrarily divided into independent \chunks", which can then be processed in parallel. In multi-round scheduling load is sent to each worker as several chunks rather than as a single one. Solving the...
Article
In this paper we study the scheduling of multiple divisible loads on a star network of processors. We show that this problem is computationally hard. Special cases solvable in polynomial time are identified.
Article
Full-text available
In this paper we study the scheduling of multiple divisible loads on a star network of processors. We show that this problem is computationally hard. Special cases solvable in polynomial time are identified.
Conference Paper
Optimum divisible load processing in heterogeneous star system with limited memory is studied. We propose two algorithms to find multi-installment load distribution: Exact branch-and-bound algorithm and a heuristic using genetic search method. Characteristic features of the solutions and the performance of the algorithms are examined in a set of co...
Conference Paper
In this paper we study multi-installment divisible load processing in heterogeneous distributed systems. Divisible loads are computations which can be divided into parts of arbitrary sizes, and these parts can be processed independently in parallel. In order to reduce the waiting time during the parallel computation initialization phase, load is se...
Article
In the dial-a-ride-problem (Darp) objects have to be moved between given sources and destinations in a transportation network by means of a server. The goal is to find the shortest transportation for the server. ...
Article
Full-text available
Divisible load scheduling problem is studied in this work. Though tractability of this problem in the practical cases is considered as its great advantage, we show that it has a hard combinatorial core. Computational hardness and polynomial time solvability of some special cases are shown.
Article
In this work, we study influence of limited size of communication buffer on the efficiency of divisible loads processing. Divisible loads are computations which can be divided into parts of arbitrary sizes, and these parts can be processed in parallel. To finish processing in the shortest possible time an optimum distribution of the load must be ca...
Article
In this paper, a problem of scheduling an arbitrarily divisible task is considered. Taking into account both communication delays and computation time we propose a scheduling method which minimizes total execution time. We focus on two dimensional processor networks assuming a circuit-switching routing mechanism. The scheduling method uses a scatte...
Chapter
Parallel tasks can be executed on more than one processor at the same time. The execution time of a parallel task is a function of the number of assigned processors. The actual number of processors used by a parallel task is selected by a scheduling algorithm. The idea of simultaneous use of processors by the tasks is relatively new in the scheduli...
Article
In this paper, we analyze processing divisible loads in systems with a memory hierarchy. Divisible loads are computations that can be divided into parts of arbitrary sizes and these parts can be independently processed in a distributed system. The problem is to partition the load so that the total processing time, including communications and compu...
Article
A process of computation in a two-dimensional mesh of processors is analysed in this work. A computational task is assumed to be arbitrarily divisible between processors. The load of the job is transferred from the originating processor to other processors by a point to point communication network. Communication delays are taken into consideration....
Article
In this work we consider the problem of scheduling multiprocessor tasks on parallel processors available only in restricted intervals of time called time windows. The multiprocessor task model applies to modern production systems and parallel applications in which several processors can be utilized in parallel. Preemptable tasks are considered. Pol...
Conference Paper
Effective exploitation of a parallel computer system is a result of cooperation between the communication and the computing parts of a parallel computer system, and the application. These elements are described by various parameters. It is not easy to grasp the connection between the values of particular parameters and the efficiency of parallel co...
Conference Paper
Despite the large number of papers that have been published, scheduling and load balancing continue to be an active area of research. The topic covers all aspects related to scheduling and load balancing including application and system level techniques, theoretical foundations and practical tools. New aspects of parallel and distributed systems, s...
Article
Full-text available
In this work scheduling multiprocessor tasks on two parallel identical processors is considered. Multiprocessor tasks can be executed by more than one processor at the same moment of time. We analyze scheduling unit execution time and preemptable tasks to minimize schedule length and maximum lateness. Cases with ready times, due-dates and preceden...
Conference Paper
Divisible job model is a very efficient tool representing certain kind of distributed computations. It can be applied for jobs that can be divided into an arbitrary number of independent tasks. In this work we analyse a new type of communication that can shorten the schedule length and reduce memory requirements. Two types of multi-instalment proce...
Conference Paper
Full-text available
In this work we consider the problem of estimating execution time of distributed applications. The main difficulty stems from the communication delays and shared nature of the computing and commu- nication media. A simple method taking into account communications and concurrency of computations is proposed to estimate the execution time of a distri...
Article
Muntz and Coffman proposed an algorithm to solve the problem of scheduling preemptable tasks either with arbitrary precedences on two processors, or tasks with tree-like precedences on an arbitrary number of processors, for the schedule length criterion. In this work, we demonstrate that this well-known algorithm has interesting features which exte...
Conference Paper
We present results of a series of experiments with parallel processing divisible tasks on various cluster of workstations platforms. Divisible task is a new model of scheduling distributed computations. It is assumed that the parallel application can be divided into parts of arbitrary sizes and the parts can be processed independently on distribut...
Article
It is well known that in the majority of cases the problem of preemptive task scheduling on m parallel identical processors with the objective of minimizing makespan can be solved in polynomial time. For example, for tree-like precedence constraints the algorithm of Muntz and Coffman can be applied. In this paper, this problem is generalized to cov...
Article
Multiprocessor tasks are executed by more than one processor at the same moment of time. This work considers the problem of scheduling unit execution-time and preemptable multiprocessor task on m parallel identical processors to minimize mean flow time and mean weighted flow time. We analyze complexity status of the problem. When tasks have unit ex...
Article
In this work the problem of scheduling n preemptable tasks with ready times and due-dates on m uniform processors available in q time windows for maximum lateness criterion is studied. The problem is reduced to a sequence of network ow problems. The complexity of algorithm is O((n + q) (log n+ log q + log m+ log maxfb i g)), where b i is speed of p...
Chapter
Full-text available
In this chapter we discuss the parallel processing context of scheduling in computer systems. Only deterministic model of scheduling will be examined. This does not mean that only static problems in which all parameters are known in advance and the solutions are in all ways fixed, are discussed. Also dynamic problems are possible in which some char...
Article
In this paper, we analyze the problem of deterministic scheduling of applications (programs) in a client-server environment. We assume that the client reads data from the server, processes it, and stores the results on the server. This paradigm can also model a wider class of parallel applications. The goal is to find the shortest schedule. It is s...
Article
In this paper, we analyze the problem of deterministic scheduling of applications (programs) in a client-server environment. We assume that the client reads data from the server, processes it, and stores the results on the server. This paradigm can also model a wider class of parallel applications. The goal is to find the shortest schedule. It is s...
Article
In this paper, a problem of scheduling an arbitrarily divisible task is considered. Taking into account both communication delays and computation time we propose a scheduling method which minimizes total execution time. We focus on two dimensional processor networks assuming a circuit-switching routing mechanism. The scheduling method uses a scatte...
Article
We study distributed processing of a divisible load in a three-dimensional mesh of communicating processors. The objective is to find distribution of the load among processors which guarantees minimal processing time. We describe a family of load distribution algorithms and obtain closed-form formulae for optimal load shares allocated to processors...
Article
In this work the idea of a divisible task is presented. The divisible task is a computation which can be divided with arbitrary granularity into independent parts solved in parallel by distributed computers. A simple model of a communication delay and a computation time is adopted, based on which various computer architectures and communication met...
Article
In this work the idea of a divisible task is presented. The divisible task is a computation which can be divided with arbitrary granularity into independent parts solved in parallel by distributed computers. A simple model of a communication delay and a computation time is adopted, based on which various computer architectures and communication met...
Article
This paper considers scheduling of parallel tasks in a multiprogrammed, multiprocessorsystem. The problem of preemptive scheduling of n tasks on m processors to minimizemakespan is studied. Task j starts and finishes with sequential parts headj and tailj , respectively.Between these two, j runs its parallel part parallelj . The sequential parts hav...
Article
The problem of deterministic scheduling of tasks in the master-slave environment is analyzed in this paper. It is assumed that the slave reads data from the master, processes it, and sends the results to the master. This paradigm can also model a wider class of distributed applications. The goal is to find the shortest schedule. The general problem...
Article
In this work we analyze the problem of an optimal distribution of a computational task among a set of processors. We assume that the task can be arbitrarily divided and its parts can be processed in parallel on different processors. A wide range of interconnection architectures of distributed computer systems is taken into consideration: a chain, a...
Article
Classical scheduling theory assumed that a task may require for its processing only one processor at a time. This assumption is not obvious in the context of new parallel computer systems and parallel algorithms. In this work, we consider preemptive deterministic scheduling of multiprocessor tasks, each of which may require a set of processors at a...