Research area
The main research area of the department is development of high performance application architectures and computer systems, in particular parallel and distributed applications and systems and broadly understood artificial intelligence, mainly in field of machine learning, natural language processing, image, text and speech recognition. "Architecture starts when you carefully put two bricks together" – according to German architect Ludwig Mies von der Rohe. In the case of computer systems this does not refer to bricks but to hardware and software modules. Architecture of a computer system can be thought of as a set of components interacting with each other. Within the research area of the department are then: high performance computing on modern clusters, architectures such as client-server, multi-tier architectures, multi-agent systems, system oriented architectures (SOA), grid and cloud computing, distributed processing with mobile devices, embedded devices, pervasive and ubiquitous computing and finally the intelligence of such systems. Development of modern applications in such systems requires:
- High efficiency,
- Security,
- Integration of various devices and software modules in a heterogeneous environment,
- Ability to cope with data of large sizes, proper filtering and subsequent processing.
In terms of the hardware infrastructure, the department uses laboratory Intelligent services and dedicated Internet systems which allows integration of various devices from embedded through popular mobile devices, workstations up to high performance computing clusters. It allows, thanks to appropriate software layers, sending data from embedded and mobile devices to clusters for efficient parallel processing and use for practical applications including natural language processing, environment monitoring etc. Processing on high performance computing systems requires adequate parallelization methods on various levels: computing devices such as CPUs, GPUs, accelerators, coprocessors as well as at the level of a computing node integrating such devices, at the cluster level integrating nodes as well as at the level where integration of clusters is performed. Research works of the department concern various aspects related to efficient parallelization of various applications on such systems, in particular parallelization of algorithms with consideration of heterogeneity of a computing environment, constraints on sizes and performance of memories of various levels, file system operations etc.