Academic/scientific papers

Title

Abstract

Event

A High Performance Memory Database for Web Application Caches

This paper presents the architecture and characteristics of a memory database intended to be used as a cache engine for web applications. Primary goals of this database are speed and efficiency while running on SMP systems with several CPU cores (four and more). A secondary goal is the support for simple metadata structures associated with cached data that can aid in efficient use of the cache. Due to these goals, some data structures and algorithms normally associated with this field of computing needed to be adapted to the new environment.

MELECON 2008

Web-enabling Cache Daemon for Complex Data

One of the most common basic techniques for improving the performance of web applications is caching frequently accessed data in fast data stores, colloquially known as cache daemons. In this paper we present a cache daemon suitable for storing complex data while maintaining fine-grained control over data storage, retrieval and expiry. Data manipulation in this cache daemon is performed via standard SQL statements so we call it SQLcached. It is a practical, usable solution already implemented in several large web sites.

ITI 2008

A distributed system for data storage and retrieval (in Croatian)

This work studies technologies applied in building distributed peer-to-peer network systems for data storage and retrieval. These systems consist of arbitrary number of network nodes connected on a higher layer and their connectivity is not influenced by physical topologies of networks of which they are a part of - they form "overlay networks." All nodes in a peer-to-peer overlay network have equal functionality (there are no "server nodes"). This equality of nodes presents some unique problems: mutual discovery of active nodes and varied connectivity as nodes join and depart the network. Various solutions for these problems are presented and evaluated and an architecture for a peer-to-peer system is proposed. The proposed system uses TCP/IP protocols for inter-node communication and allows storage and retrieval of data records in the form of dictionaries (mappings). A prototype of the system is implemented in Java programming language, and technical and user documentation is provided in this work.

dipl.ing. thesis

Network Distributed File System in User Space

File systems have traditionally been implemented in the operating system's kernel to ensure maximum possible speed and integration with the rest of the operating system, and this was true even for network file systems such as NFS. However, available CPU power on mainstream architectures continues to increase daily at a rate which is not closely followed by speed of computer network equipment. When considering development of network-distributed file systems today it becomes clear that speed improvements offered by pure kernel-side implementations are no longer significant given the bandwidth and latencies of computer networks. Recent efforts in enabling user-space file system implementations on free / open source Unix-like operating systems have made it possible to create a solution for distributing file system data over computer networks entirely in user-space. In this work we present such a solution - the Trivially Distributed File System.

ITI 2006

A hierarchical file system interface to database-based content management application

When considering the usability of computer applications one, of the most important factors is the interface they provide for data manipulation. Historically, though each application has defined it's own user interface, some types of interfaces have emerged as most applicable for certain types of data. Over time, some applications (or types of applications) have gained enough popularity that they became ubiquitous and well-known to most computer users to the extent that users consider them the norm, and as such, optimal for their daily tasks. In this paper we present an idea and implemented method of exposing data from a web content management system in the form of hierarchical file system, manageable and editable by usual file management and office application tools.

ITI 2006

On recording and presentation of measurement data acquired via web services

Web services have greatly eased exchange of data, but the usage of web services carries its own specific downsides as well as advantages. Most notable of these are latency of transmission and reliability of server equipment. In this work a straightforward solution for distribution and representation of measurement data was created. This solution is comprised of two parts: a back end process which communicates with the data source via a web service protocol based on XML (in Python language), and a front-end module for the FERweb Content management system (in PHP language). These processes communicate asynchronously via the database.

MIPRO 2006

Distributing a Web-based Content Management System - "FERweb"

This work explores various ways of distributing the FERweb CMS system (a web-based Content Management System of the University of Zagreb, Faculty of Electrical engineering and computing)
Primary aim of this project is enhancing the performance of the system, within the constraint that the efforts must be based on existing technologies used in the project and with minimal impact on the existing code.

ITI 2005

General papers

Title

Date

Abstract

On implementation of switch()..case in gcc

January 2 2005

A simple exploration of how the switch()..case construct is compiled into machine
code in gcc 3.4

Distribuding Web-based CMS

June 24, 2005

This is the "official" version of the following paper, presented at the
ITI 2005 conference.

Web CMS Distribution

May 7, 2004

This work explores various ways of making the FERweb CMS system (a web-based Content Management
System of the Faculty of electrical engineering and computing at the University of Zagreb) a
"distributed system". Here, the notion of a distributed system is taken quite literally, and stands
for executing as many components of the system as possible on as many different computer systems.
The only limits here imposed are that of the practical value of such distribution . its end result
must be either an increase of total performance delivered to the user of the system, an increase of
overall system reliability, or providing distinct new functionality that was previously not possible,
and that the efforts must be based on existing technologies used in the project already, with minimal
impact on the existing code. Where appropriate and where available resources permit, measurements
are taken and reported.

OS Benchmark

April 10, 2004

This article presents the results of benchmarking various operating systems.
The benchmarks include synthetic tests (bytebench, ubench, bonnie++) and, more importantly,
semi-"real world" tests (pgbench, web CMS). Operating systems benchmarked are various versions of FreeBSD,
DragonflyBSD, NetBSD and Linux.

GCC as Optimising Compiler

Feb 17, 2004

This paper aims to present and analyse some of the optimisations that
are conducted by the GNU C compiler, in version 3.3.4 (on a i386 FreeBSD
system). This is only an informal and introductory paper and is not
meant to be comprehensive nor complete, only to give insight at things
that are happening ``behind the scenes''.

Description of PHP-RPC protocol

Jan 15, 2004

Because of the need for a truly light-weight RPC mechanism in PHP,
a new protocol is formed: PHP-RPC, to be used instead of XML-RPC when
communicating to purely PHP applications. This protocol is faster
and has a smaller overhead.

Curriculum papers (mostly in Croatian)

Title

Date

Abstract

RDRAM Memorija

Feb 8, 2004

Ovaj rad opisuje osnovni rad Direct Rambus RAM sustava, kakav se još uvijek koristi.
Na kraju rada je dan kratak opis promjena u novijim inačicama sustava.

KSE sustav u FreeBSD 5.0

Dec 2002

Cilj ovog rada je prikazati mogućnosti postizanja višedretvenog rada u operacijskom
sustavu FreeBSD 5.0, sa posebnim osvrtom na novorazvijeni sustav KSE: Kernel Scheduled
Entities koji donosi mnoga poboljšanja u odnosu na prethodno dostupna rješenja,
posebno u podršci za iskorištavanje više sistemskih procesora (ukoliko su prisutni)
i konkurentnog izvršavanja poziva jezgre operacijskog sustava. Praktični dio rada
demonstrira korištenje različitih postojećih metoda postizanja višedretvenosti
u aplikacijama, te njihove posljedice za aplikaciju i cijeli sustav.

Other (conference presentations, etc.)

Title

Date

Abstract

FreeBSD's finstall

May, 2008

Presentation of finstall's status, given at BSDCan 2008.

FreeBSD's finstall

May, 2007

Presentation of new FreeBSD graphical installer, given at BSDCan 2007.

FreeBSD's GVIRSTOR

May, 2007

Presentation of GEOM_VIRSTOR kernel module for FreeBSD, givent at BSDCan 2007.

WebDAV u uredskom okruženju

April, 2005

Korištenje WebDAV-a u poslovnom okruženju, primjene, poslužitelji, klijenti.

FreeBSD 5.2

April, 2004

FreeBSD arhitektura i okruženje, novosti u 5.2, napredne
mogućnosti uporabe

Kako ubrzati PHP program

Mar, 2003

PHP je spor! Zbog prilično "labave" sintakse, PHP interpreter mora prolaziti kroz
puno više provjera nego za neke druge skriptne jezike. PHP-ov "model programiranja"
je često neoptimalan s resursima...

Uvod u FreeBSD

Mar, 2003

Čiji Unix je dulji? Kratka povijest vremena, BSDL vs GPL, BSD is dead!
*BSD, Prednosti FreeBSDa...

There's more!

There's a separate section containing my FreeBSD papers.

Show more