<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns="http://purl.org/rss/1.0/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">
<channel>
<title>Computer Science</title>
<link>http://hdl.handle.net/123456789/14</link>
<description/>
<items>
<rdf:Seq>
<rdf:li resource="http://hdl.handle.net/123456789/5792"/>
<rdf:li resource="http://hdl.handle.net/123456789/5786"/>
<rdf:li resource="http://hdl.handle.net/123456789/5782"/>
<rdf:li resource="http://hdl.handle.net/123456789/5778"/>
</rdf:Seq>
</items>
</channel>
<item rdf:about="http://hdl.handle.net/123456789/5792">
<title>PREBROJAVANJE KLASA EKVIVALENCIJE BULOVIH FUNKCIJA</title>
<link>http://hdl.handle.net/123456789/5792</link>
<description>PREBROJAVANJE KLASA EKVIVALENCIJE BULOVIH FUNKCIJA

Carić, Marko

In this dissertation, the problem of calculating the number of equiva-&#13;
lence classes of Boolean functions is discussed. The difficulty of determining the&#13;
number of equivalence classes increases sharply with the number of variables n.&#13;
The motivation for choosing this topic lies in the fact that concrete numbers have&#13;
been known so far only for relatively small values of n, although the problem itself&#13;
was theoretically solved a long time ago.&#13;
Let G be the group of permutations of the set Bn = {0, 1}n. The effect of&#13;
the group G on scalar, Bn 7 → B1, that is, vectorial invertible Boolean functions,&#13;
Bn 7 → Bn. Two scalar Boolean functions f (x) and g(x), defined on Bn, are&#13;
considered equivalent with respect to the group G, i.e. f ∼ g, if for some σ ∈ G&#13;
for every x ∈ Bn f (x) = g(σ(x)) holds. Two vector invertible Boolean functions&#13;
f (x) and g(x), are considered equivalent with respect to the group G, i.e. f ∼ g,&#13;
if for some pair (σ, ρ) ∈ G × G for each x ∈ Bn holds g(x) = ρ(f (σ(x))). The&#13;
equivalence relation ∼ decomposes the set of all Boolean functions into equivalence&#13;
classes. Equivalence of Boolean functions has significant applications in the logical&#13;
synthesis of combinatorial circuits and in cryptography, especially in connection&#13;
with the design of S-boxes.&#13;
Let Un(G) and Vn(G) denote number of equivalence classes of scalar, i.e. vector&#13;
invertible Boolean functions of n variables in relation to the group G. The numbers&#13;
Un(G) and Vn(G) can be calculated relatively simply if the cycle index of the group&#13;
G is known. The dissertation considers four groups G of permutations of the set&#13;
Bn:&#13;
• group S′&#13;
n induced by group Sn permutations of coordinates elements x =&#13;
(x1, x2, . . . , xn) ∈ Bn,&#13;
• group Gn, induced by permutations and complementations of coordinates,&#13;
• group of GLn linear invertible transformations elements of the vector space&#13;
Bn, i&#13;
• group of AGLn affine invertible transformations elements Bn.&#13;
If the permutation σ ∈ G has ik cycles of length k ⩾ 1, its cycle structure is&#13;
i(σ) = (i1, i2, . . .). The cyclic index of the group G is the generatrix&#13;
ZG(f1, f2, . . .) = 1&#13;
|G|&#13;
X&#13;
σ∈G&#13;
Y&#13;
k⩾1&#13;
f ik&#13;
k&#13;
of cycle structures of all permutations σ ∈ G. General expressions for cycle indices&#13;
the four considered groups are known, but the cycle indices themselves, i.e. the&#13;
numbers Un(G) and Vn(G), are practically calculated only for relatively small&#13;
values, for e.g. n ⩽ 10.&#13;
The dissertation presents original results in the field of enumeration of equiv-&#13;
alence classes of Boolean functions in relation to these four groups of transfor-&#13;
mations. A similar expression was derived for all four groups of transformations&#13;
for the cycle index in the form of sum over partitions of the number n. Based&#13;
on that expression and previously calculated tables, the cycle index is calculated&#13;
much more efficiently. An overview of known results for relatively small n and&#13;
new results in the thesis for larger n is shown in the following table:&#13;
Number\ G S′&#13;
n Gn GLn AGLn&#13;
Un(G) 11 → 33 10 → 32 8 → 31 10 → 31&#13;
Vn(G) 6 → 30 7 → 27 6 → 26 6 → 26&#13;
Specially, in the case of the permutation group S′&#13;
n, an effective direct procedure&#13;
for calculating the number of equivalence classes that does not use a cycle index&#13;
is shown, and is described in the third paper from the introductory chapter.&#13;
The second part of the dissertation concerns monotone Boolean functions —&#13;
scalar Boolean functions which satisfy the monotonicity condition (from x ⩽ y&#13;
follows f (x) ⩽ f (y)). Let rn, i.e. dn (the n-th Dedekind number), denote the&#13;
number of equivalence classes of monotone Boolean functions in relation to the&#13;
group S′&#13;
n, that is, the total number of monotone Boolean functions of n variables.&#13;
The difficulty of calculating the number rn increases rapidly with n, so that&#13;
until recently the last calculated member of the sequence was r7. The procedure&#13;
described in the dissertation is based on the Frobenius theorem, by which it was&#13;
determined number r8. In doing so, the known value of the number d8 is used.&#13;
The dissertation consists of the first - introductory chapter and the following&#13;
three chapters. In the second chapter, theoretical terms related to the material&#13;
from chapters 3 and 4 are introduced, and they refer to discrete mathematics,&#13;
combinatorics and cycle indices of the considered four groups of transformations.&#13;
Chapter 3 describes the procedure for calculating the cycle indices for the&#13;
four considered groups of permutations, as well as numbers Un(G) and Vn(G)&#13;
equivalence classes of Boolean functions in relation to these groups. First, common&#13;
improvements for all four groups are considered, and then specific accelerations&#13;
related to individual groups. These results are published in the second paper&#13;
listed in the introductory chapter.&#13;
In chapter 4, the problem of finding the number of equivalence classes of&#13;
monotone Boolean functions is solved. First, a general expression for calculating&#13;
the number rn is given based on the Frobenius theorem in the form of the sum&#13;
(by partitions of the number n) of the number of fixed points of the permutation&#13;
corresponding to the partition. After that, depending on the graphs corresponding&#13;
to different partitions, different ways of calculating the number of fixed points for&#13;
n ⩽ 8 are shown. The procedure based on which the number r8 was calculated,&#13;
which also represents the original contribution of this dissertation is presented -&#13;
see the first paper from the list from the introductory chapter. Applying a similar&#13;
procedure, Pawelski [31] calculated r8 practically at the same time as the obtained&#13;
result described in the dissertation.

</description>
</item>
<item rdf:about="http://hdl.handle.net/123456789/5786">
<title>DIRECT DATA-SNAPSHOTTING AND SNAPSHOT SHARING ACROSS CLOUD-NATIVE APPLICATIONS</title>
<link>http://hdl.handle.net/123456789/5786</link>
<description>DIRECT DATA-SNAPSHOTTING AND SNAPSHOT SHARING ACROSS CLOUD-NATIVE APPLICATIONS

Ristović, Ivan

Cloud-computing platforms provide services to consumers through multiple serviceoffering&#13;
models. Recent advances in these models have led to the emergence of serverless computing,&#13;
or simply serverless, where infrastructure is managed by the service provider. Serverless&#13;
is usually coupled with function-based programming model in which software systems are composed&#13;
of reusable, lightweight units of code executed within isolated sandboxed environments.&#13;
Major cloud-computing platforms, including Amazon Web Services (AWS), Microsoft Azure,&#13;
and Google Cloud, report that a substantial proportion of their customers employ serverless&#13;
solutions.&#13;
Most cloud-computing providers employ a pay-as-you-go billing model. Inefficient utilization&#13;
of computing resources, particularly CPU time and working memory, which constitute the&#13;
most costly resources, leads to increased overall operational costs. Moreover, the requirement&#13;
for resource isolation adversely affects initialization latency and results in additional CPU and&#13;
working-memory overhead. Serverless sandboxes are typically deployed on top of heavyweight&#13;
virtualization stacks that includeJava, JavaScript, or Python runtime environments with accompanying&#13;
frameworks, further increasing working-memory consumption.&#13;
Modern cloud-computing architectures use Checkpoint/Restore (abbr. c/r) techniques to&#13;
freeze initialized sandboxes into a continuable form. Such techniques, in combination with&#13;
cloud-native deployments, allow the virtualized environment to optimize resource consumption&#13;
and share code and pre-initialized data across multiple sandboxes. However, such solutions&#13;
either operate at application-build time to support data pre-initialization or sharing, or operate&#13;
at execution time with limited sharing potential for data available during application execution.&#13;
Such data is processed multiple times and duplicated in each sandbox.&#13;
This dissertation presents Doss, a direct object snapshotting and sharing system that&#13;
performs data c/r during application execution. Doss persists data directly, without transformations,&#13;
into reusable and shareable snapshots. Direct snapshotting allows Doss to achieve&#13;
near-constant data deserialization time, greatly improving initialization times and reducing&#13;
CPU usage. Doss architecture enables snapshot sharing across application instances, eliminating&#13;
the excess memory footprint associated with data re-processing and duplication.&#13;
GraalDoss, a Doss implementation for Java, is integrated into the GraalVM ecosystem.&#13;
GraalDoss is evaluated using 106 correctness and robustness tests and a novel set of cloudnative&#13;
micro and macro benchmarks that exercise real-world scenarios. A comprehensive evaluation&#13;
of GraalDoss shows a consistent near-constant data-deserialization overhead with serialization&#13;
times comparable to state-of-the-art Java JSON and binary serialization libraries.&#13;
GraalDoss reduces the memory footprint of web API microservice caches by sharing populated&#13;
cache snapshots across microservice instances, improving the overall density by 41% for&#13;
8 microservice instances and improving first-response times by 34%. In NLP applications,&#13;
GraalDoss improves the pipeline execution times by six orders of magnitude by snapshotting&#13;
pipeline results and subsequently loading the snapshots.

</description>
</item>
<item rdf:about="http://hdl.handle.net/123456789/5782">
<title>Metode za efikasno rešavanje dominacijskih problema na velikim grafovima</title>
<link>http://hdl.handle.net/123456789/5782</link>
<description>Metode za efikasno rešavanje dominacijskih problema na velikim grafovima

Kapunac, Stefan

This dissertation addresses methods for efficiently solving several important variants&#13;
of domination problems on graphs, with a particular focus on large-scale instances that frequ-&#13;
ently appear in real-world systems. Domination problems have numerous applications in the&#13;
analysis and management of complex networks, including social, telecommunication, transport,&#13;
and biological networks. The study covers four problems: minimum weight total domination,&#13;
minimum weight independent domination, k-strong Roman domination, and the canonical mi-&#13;
nimum domination problem on large graphs.&#13;
For the minimum weight total domination problem, a variable neighborhood search approach&#13;
is proposed, with carefully designed mechanisms for shaking, local search, and fitness function&#13;
evaluation. The results show that the proposed algorithm achieves optimal solutions on small&#13;
and medium instances and outperforms competing approaches on large graphs. Additionally,&#13;
an application of this problem for accelerating information spreading in social networks is&#13;
proposed.&#13;
For the minimum weight independent domination problem, two new integer linear pro-&#13;
gramming models are developed. Solving these models finds optimal solutions for all smaller&#13;
instances while demonstrating superior performance compared to competing exact approaches&#13;
on larger graphs. In addition, a greedy heuristic is proposed that outperforms competing greedy&#13;
methods on most instances.&#13;
In the case of k-strong Roman domination, a greedy heuristic based on node coverage&#13;
information is developed, along with a metaheuristic approach based on variable neighborhood&#13;
search that uses the greedy algorithm for initialization. This problem is particularly challenging&#13;
due to the exponential complexity of solution feasibility verification, leading to the introduction&#13;
of the concept of quasi-feasibility that enables efficient feasibility assessment during the search.&#13;
Experimental results show that the proposed algorithm consistently outperforms the greedy&#13;
approach and existing competing methods, especially on larger graphs. The practical value&#13;
of the algorithm is illustrated through a case study involving the optimal positioning of fire&#13;
stations and vehicles in urban municipalities to ensure the entire city is safe in the event of k&#13;
simultaneous fires.&#13;
For the minimum domination problem, a new hybrid approach called IRIS is proposed. IRIS&#13;
is designed as a general-purpose framework that bridges the gap between exact integer linear&#13;
programming solvers and heuristic search by iteratively fixing selected variables to reduce the&#13;
search space. Тhe novelty lies in its flexible subproblem construction mechanism, which can be&#13;
tailored using various selection strategies. In this study, we implement and evaluate a specific&#13;
configuration of IRIS that utilizes historical statistical data and a node-coverage-based heuristic&#13;
to intelligently identify variables for fixing. This targeted approach allows the ILP solver to find&#13;
high-quality solutions for large-scale instances that are computationally prohibitive for exact&#13;
methods. Experimental results demonstrate that IRIS achieves competitive performance com-&#13;
pared to the best existing methods, establishing it as a valid alternative for solving domination&#13;
and potentially other NP-hard problems.

</description>
</item>
<item rdf:about="http://hdl.handle.net/123456789/5778">
<title>PREDVIĐANJE PROFILA IZVRŠAVANJA PROGRAMA TEHNIKAMA MAŠINSKOG U ČENJA</title>
<link>http://hdl.handle.net/123456789/5778</link>
<description>PREDVIĐANJE PROFILA IZVRŠAVANJA PROGRAMA TEHNIKAMA MAŠINSKOG U ČENJA

Čugurović, Milan

Compilers use program profiles to perform profile-guided optimizations and pro-&#13;
duce efficient programs. Although dynamic profilers generate high-quality profiles, they have&#13;
significant drawbacks. They complicate the application build pipeline by requiring two compi-&#13;
lation steps and an additional profile collection run. Dynamic profilers also consume substantial&#13;
time and memory and place a heavy burden on developers to create suitable workloads that&#13;
accurately reflect typical application usage, cover important code paths, and generate well-&#13;
distributed profiles.&#13;
In response to the shortcomings of dynamic profilers, modern static profilers employ ma-&#13;
chine learning (ML) techniques to predict program profiles. However, state-of-the-art ML-based&#13;
static profilers often rely on handcrafted features that are platform-specific and difficult to adapt&#13;
across different architectures and programming languages. They also tend to use computation-&#13;
ally intensive deep neural networks, which increase application compilation time. Moreover,&#13;
ML-based static profilers can degrade the performance of optimized programs due to inaccurate&#13;
profile predictions.&#13;
This dissertation presents GraalSP , an ML-based static profiler that is portable, polyglot,&#13;
efficient, and robust. GraalSP achieves portability by defining features on a high-level, graph-&#13;
based intermediate representation and by partially automating the feature extraction process.&#13;
This design makes GraalSP polyglot, allowing it to predict profiles for programs written in any&#13;
language that compiles to Java bytecode, such as Java, Scala, or Kotlin. GraalSP is efficient&#13;
due to its use of a lightweight XGBoost model based on decision trees, and robust because it&#13;
relies on carefully designed heuristics that correct machine learning predictions and ensure high&#13;
performance in programs optimized using the predicted profiles.&#13;
We integrate GraalSP into the Enterprise GraalVM Native Image compiler and evaluate it&#13;
on 28 benchmarks from the Renaissance, DaCapo, and DaCapo Scala benchmark suites. These&#13;
suites represent a modern and diverse collection of benchmarks, featuring numerous real-world&#13;
workloads across a variety of programming paradigms. Our comprehensive evaluation shows&#13;
that GraalSP achieves a geometric mean speedup of 7.46% in execution time compared to the&#13;
default compiler configuration, which models program profiles using a uniform distribution.&#13;
This dissertation also presents a detailed qualitative and quantitative analysis to position and&#13;
compare the proposed solution against state-of-the-art static profilers. Additionally, to enhance&#13;
and expand the evaluation and support developers in analyzing GraalSP ’s predictions, this&#13;
dissertation introduces the GraalSP-PLog tool. This tool allows developers to run the GraalSP&#13;
static profiler on any program and generate detailed prediction reports, making it easier to&#13;
inspect individual predictions and identify model mispredictions.&#13;
Since GraalSP provides substantial performance gains, has minimal impact on binary size&#13;
and compile time, and includes a modern, fully automated model retraining pipeline, it is well-&#13;
suited for commercial deployment. As a result, GraalSP has been the default static profiler&#13;
for the Enterprise GraalVM Native Image compiler since June 2023, consistently improving&#13;
performance with every build.

</description>
</item>
</rdf:RDF>
