# Maciej DrozdowskiPoznan University of Technology · Institute of Computing Science

Maciej Drozdowski

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

Introduction

Additional affiliations

January 2000 - July 2007

September 1994 - February 1995

October 1987 - present

## Publications

Publications (118)

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...

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...

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...

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...

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...

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...

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...

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....

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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.

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.

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...

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...

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. ...

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.

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...

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...

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...

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...

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....

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...

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...