Personal Interests
I enjoy making music as a hobby. I use Logic Pro X to produce LOFI instrumental soundtracks which I post on platforms such as Youtube and Spotify under the name "Anson Thai". Currently, my favourite pieces are "Chinese Garden" and "drink some water".
Extra Curricular Activities and University Societies
I am a member of the ANU badminton club and attend weekly sessions. I have been playing since 2017 and had professional training for many years. Nowadays I like to play for fun.
I regularly attend events held by the ANU board games club, and enjoy playing games such as Codenames and Taboo.
I am a member of the ANU AGS (anime and gaming society) and regularly attend their events. I enjoy watching anime and playing online team games such as Valorant and League of Legends.
I play chess both online and in-person - casually with friends and occasionally in competitions.
Improving Search with Persistent Memory - I worked on an extensible full-text search engine that supports a variety of indexing formats and storage devices. On the storage side it targets traditional storage devices (disks and SSDs) and emerging non-volatile memory (NVM) or persistent memory. LSIP is a port of PSearchy which was part of the MOSBENCH benchmark suite from MIT, and is written in a mix of C and C++. My research supervisor and I found that specific NVM configurations of our newly proposed in-memory index outperform the state-of-the-art in terms of indexing speed by eliminating sorting, flushing, and merging.
Optimizing a Hash Table-Based Inverted Index for Persistent Memory (Research paper) - Abstract - "The state-of-the-art implementation of full-text search on persistent memory involves creating an in-memory hash table from the data set, then transforming this in-memory hash table into a sorted/unsorted string table (UST/SST). The transformation is required due to poor query evaluation performance of the hash table. We build the hash table on Optane DC persistent memory to achieve state-of-the-art indexing and query evaluation performance. Persistent memory is an emerging hardware technology which offers many advantages over traditional DRAM, with the most crucial being non-volatility and scalability. In this paper, we explore an optimisation of an hash table which utilises variable sized blocks, and evaluate its performance against the state-of-the-art. We find that this optimisation significantly improves query evaluation performance, providing equivalent performance to the UST index for most query types. We present our optimised hash table as an appealing alternative to a UST index; it allows us to eliminate an expensive indexing step while retaining excellent query evaluation performance."
Analyzing Fundamental Space-Time Tradeoffs in Inverted List Compression on Hybrid Memories (Research Paper) - Abstract - "In-memory Inverted indices are the state of the art data structure for offering fast query response times. Since DRAM capacity is limited, posting lists are compressed to reduce their storage footprint. Historically, compression has been associated with a detrimental impact on query performance due to the high latency of decompression. In this paper, we revisit this issue using efficient SIMD compression algorithms and arrive at a different conclusion. Our research reveals that compression can simultaneously reduce storage costs and improve performance for single-term queries, with novel algorithms such as StreamVByte and TurboPForDelta. We find that in particular, TurboPForDelta offers high compression ratios (low memory cost) and great performance when combined with SIMD (high throughput). For conjunctive-queries, we find that there is a time-space tradeoff: we can have highly compressed indices (23.6% of the original size) on PM at the cost of 17% QPS performance. However, this consideration of performance cost does not factor in the advantages brought by reduced frequency of disk accesses thanks to compression and large PM capacity. Furthermore, we discover that these recent compression algorithms make query performance storage technology invariant, implying a potential benefit from the use of a persistent memory-backed index for increased memory capacity and persistence."
HTTP Proxy - Created a web proxy in C to mirror a website. This involved working with sockets and ports, and setting up TCP connections. To improve the performance of the proxy, I used multiple threads to make multiple HTTP requests at the same time, which greatly improved the performance of the proxy.
MQTT Analyzer and Publisher - Created a Python program which analyzed the performance of a MQTT broker. This involved varying the quality of service (QoS) level and comparing the latency between the publisher, broker and subscriber programs. This involved writing scripts and using data collection tools.
Shoaib Akram
Professor and Researcher
The Australian National University
Shoaib.Akram@anu.edu.au
Jonothan Pham
Software Development Engineer II
AWS
0481249457
Maritza Olivares
Office Manager
Supabarn
61853236