Miracle-dz/UniFAR-FTUs huggingface dataset:
Joins in a heterogeneous memory hierarchy: exploiting high-bandwidth memory

With High-Bandwidth Memory (HBM), an additional opportunity on hardware side for performance benefits is given. The large amount of available bandwidth compared to regular DRAM allows the execution of high numbers of threads in parallel masking penalties of concurrent memory accesses. This is especially interesting considering database join algorithms optimized for multicore CPUs, even more when running on a manycore processor like a Xeon Phi Knights Landing (KNL). The drawback of HBM, however, is its small size and given penalties in random memory access patterns. In this paper, we analyze the impact of HBM on join processing exemplarily on the KNL manycore architecture. We run certain main memory hash join and sort-merge join algorithms of relational DBMS as well as data stream joins, comparing execution time in different HBM configurations. In addition, we consider data skew and output materialization for our measurements. Our results finally show performance gains up to 3x for joins when HBM is used. However, there is still a lot of room for improvements to fully utilize this kind of memory. Therefore, we give additional advices regarding HBM at the end of this paper.
A Simple Yet Effective Graph Partition Model for GPU Computing

Graph edge partition models have recently become an appealing alternative to graph vertex partition models for parallel and distributed computing due to their flexibility in balancing loads and their performance in reducing communication cost [1, 3]. In this paper, we introduce a simple yet effective graph edge partitioning model for GPU computing. In practice, our model yields high partition quality (better than or the same as the state-of-the-art edge partition approaches, at least for power-law graphs) with low partition overhead. In theory, previous work [1] showed that an approximation factor of O (dmax √log n log k) apply to the graphs with m = Ω(k2) edges (k is the number of partitions). Our model extends this result to all graphs. We demonstrate how graph edge partition model can be applied to GPU computing. We draw our examples from GPU program for locality enhancement both over time and (processor) space. For the first time, we demonstrate the effectiveness of edge partition for modeling data reuse in a many-core processors, both in theory and in practice.
Communication-Avoiding for Dynamical Core of Atmospheric General Circulation Model

Dynamical core is one of the most time-consuming parts in the global atmospheric general circulation model, which is widely used for the numerical simulation of the dynamic evolution process of global atmosphere. Due to its complicated calculation procedures and the non-uniformity of latitude-longitude mesh, the parallelization suffers from high communication overhead. In this paper, we deduce the operator form of the calculating flow in the dynamical core. Furthermore, it is abstracted out that the stencil and collection alternate action is the basic operation in the dynamic core. Based on the operator form of the calculation flow, we propose the corresponding optimization strategy for each operator. In the end, we develop a communication-avoiding algorithm to reduce communication overhead in the dynamic core. Our experiments show that the communication-avoiding algorithm reduces the total runtime by 54% at most for a 50 km resolution model running 10 years. Especially for communication reduction, the new algorithm achieves 1.4x speedup on average for the collective communication and 3.9x speedup on average for the communication involved in the stencil computation.
Authentication with User Driven Web Application for Accessing Remote Resources

With the emerging of data-driven analysis and data science, the needs of high-performance computing resources and cyberinfrastructure (CI) have been widely spread across almost all domain fields in academia. While CI providers have continued success with the infrastructure-as-a-service model (IaaS), there are increasing demands to offer more service models for diverse users and use cases. We have proposed a web application framework, which empowers users running their own analytic workflows as a web service that is accessible by other users authenticated with existing credentials. Through this framework, ad-hoc analysis routines can be described and wrapped in a workflow model that is shareable and re-useable. While the framework offers a new way for any user with valid credential to access and utilize remote resources, there are cases where more flexible authentication methods can further lower the access barrier of HPC resources. In this paper, we detail credential management of this framework and report our preliminary works on enabling temporary access to the remote resources including using dynamic generated credentials and social logins.
iPregel: A Combiner-Based In-Memory Shared Memory Vertex-Centric Framework

The expressiveness of the vertex-centric programming model introduced by Pregel attracted great attention. Over the years, numerous frameworks emerged, abiding by the same programming model, while relying on widely different architectural designs. The vast majority of existing vertex-centric frameworks exploits distributed memory parallelism or out-of-core computations. To our knowledge, only one vertex-centric framework is designed upon in-memory storage and shared memory parallelism. Unfortunately, while built on a faster architecture than that of other vertex-centric frameworks, it did not prove to significantly outperform other existing solutions. In this paper we present iPregel: another in-memory shared memory vertex-centric framework. The optimisations developed and presented in this paper particularly target three hotspots of vertex-centric calculations: selecting active vertices, routing messages to their recipient and updating recipients inbox. We compare iPregel against the state-of-the-art in-memory distributed memory framework Pregel+ on three of the most common vertex-centric applications: PageRank, Hashmin and the Single-Source Shortest Path. Experiments demonstrate that the single-node framework iPregel is faster than its distributed memory counterpart until at least 11 nodes are used. Further experiments show that iPregel completes a PageRank application with an order of magnitude less memory than popular vertex-centric frameworks.
Continuous monitoring and auditing in municipalities

Tools and techniques for monitoring and auditing continuous streams of data are increasingly being used. However, adoption has only been investigated in the private sector. In this paper we examine the feasibility of continuous auditing and continuous monitoring in the public sector, specifically for municipalities in the Netherlands. A multiple case study is conducted about the opportunities and needs of continuously monitoring and assessing financial data concerning the social domain: care-related and social services, which have recently been decentralized from the national government to the municipal level. Interviews were held with representatives of six municipalities, administrative bodies, and an accounting firm. The research indicates that continuous monitoring is feasible, and that there is a need for continuous monitoring in the public domain. The ease of adoption depends to a large extent on the choice of whether and how a municipality wants to collaborate in offering social domain services.
H2Cloud: Maintaining the Whole Filesystem in an Object Storage Cloud

Object storage clouds (e.g., Amazon S3) have become extremely popular due to their highly usable interface and cost-effectiveness. They are, therefore, widely used by various applications (e.g., Dropbox) to host user data. However, because object storage clouds are flat and lack the concept of a directory, it becomes necessary to maintain file meta-data and directory structure in a separate index cloud. This paper investigates the possibility of using a single object storage cloud to efficiently host the whole filesystem for users, including both the file content and directories, while avoiding meta-data loss caused by index cloud failures. We design a novel data structure, Hierarchical Hash (or H2), to natively enable the efficient mapping from filesystem operations to object-level operations. Based on H2, we implement a prototype system, H2Cloud, that can maintain large filesystems of users in an object storage cloud and support fast directory operations. Both theoretical analysis and real-world experiments confirm the efficacy of our solution: H2Cloud achieves faster directory operations than OpenStack Swift by orders of magnitude, and has similar performance to Dropbox but yet does not need a separate index cloud.
Improvement of transparency through mining techniques for reclassification of texts: the case of brazilian transparency portal

Several countries passed transparency laws requiring that governments make data about its fiscal and financial expenditures publicly available in Internet portals. Nevertheless, available data is not always synonymous with transparent data. This is the case of the Transparency Portal of Brazilian Federal Government, since key data is presented as unstructured text hindering the control of purchased items. This article describes the application of text mining techniques with the objective of reclassifying descriptive texts of unit of measurement related to the products and services procured by Federal Government in Brazil. The results of the efficacy of this model are presented, including the production of analysis based on the transformed dataset, identifying probable input errors, suspicious companies and purchasers and factors affecting procurement prices as well as presenting suggestions for future research and improvements for the way the data is inputted and made available
Studying Test Case Failure Prediction for Test Case Prioritization

Background: Test case prioritization refers to the process of ranking test cases within a test suite for execution. The goal is ranking fault revealing test cases higher so that in case of limited budget one only executes the top ranked tests and still detects as many bugs as possible. Since the actual fault detection ability of test cases is unknown before execution, heuristics such as "code coverage" of the test cases are used for ranking test cases. Other test quality metrics such as "coverage of the changed parts of the code" and "number of fails in the past"' have also been studied in the literature. Aims: In this paper, we propose using a logistic regression model to predict the failing test cases in the current release based on a set of test quality metrics. Method: We have studied the effect of including our newly proposed quality metric ("similarity-based" metric) into this model for tests prioritization. Results: The results of our experiments on five open source systems show that none of the individual quality metrics of our study outperforms the others in all the projects. Conclusions: However, the ranks given by the regression model are more consistent in prioritizing fault revealing test cases in the current release.
Towards a conceptual model of procedural knowledge degradation

Research has derived a dynamic range of theories associated with the acquisition of knowledge. In contrast, the current research seeks mechanisms by which acquired knowledge degrades, as well as mechanisms that could be computationally modelled. For procedural tasks, such as product assembly or supervisory control, variables including interference can inhibit the ability to retrieve procedural knowledge in different ways than the retrieval of declarative knowledge like phone numbers. High consequence tasks, such as air traffic control or maintenance on nuclear weapons, require proficiency to be maintained. Thus, an understanding of mechanisms that might complicate effective performance could improve approaches to job design. To explore theoretical underpinnings for procedural knowledge degradation, three areas of literature were explored. The areas included theoretical, computational, and ecological research. The literature serves as input for a conceptual model of procedural knowledge degradation.
To what extent does sentence-internal realisation reflect discourse context? A study on word order

We compare the impact of sentence-internal vs. sentence-external features on word order prediction in two generation settings: starting out from a discriminative surface realisation ranking model for an LFG grammar of German, we enrich the feature set with lexical chain features from the discourse context which can be robustly detected and reflect rough grammatical correlates of notions from theoretical approaches to discourse coherence. In a more controlled setting, we develop a constituent ordering classifier that is trained on a German treebank with gold coreference annotation. Surprisingly, in both settings, the sentence-external features perform poorly compared to the sentence-internal ones, and do not improve over a baseline model capturing the syntactic functions of the constituents.
Bandwidth Reduced Parallel SpMV on the SW26010 Many-Core Platform

SpMV (Sparse Matrix-Vector multiplication), in its simplest form y = Ax, multiplies a sparse matrix with a dense vector and is a widely used computing primitive in the domain of HPC. On the newly SW26010 many-core platform, we propose a highly efficient CSR (Compressed Storage Row) based implementation of parallel SpMV, referred to as SWCSR-SpMV in the sequel. SpMV in the CSR format can be trivially parallelized but its performance is majorly impeded by memory access efficiency, and therefore to leverage high-throughput memory access mechanism while avoiding redundant bandwidth usage becomes the major goal of designing high performance SpMV on the target platform. The original problem is sequentially partitioned into row-slices, each of which can reside in the fast scratchpad memory, so that the loaded x'es can be reused; meanwhile, a dynamic look-ahead scheme is applied to avoid redundant memory access; we split the many-core mesh into smaller communication scope to facilitate the sharing of the common data across the working threads via the high speed on-mesh data bus. Beyond the above, to leverage massive parallelism balanced workload is ensured by both static and dynamic means. Performance evaluation is done on a benchmark of 36 frequently used sparse matrices in the fields of graph computing, data mining, computational fluid dynamics, etc. While the performance upper-bound is defined by the ratio between the minimal data access volume required against the practically optimal bandwidth, ignoring the computing overhead, SWCSR-SpMV can achieve an efficiency of nearly 87%, maintaining over 75% for 1/3 of the testing matrices. SWCSR-SpMV is further applied in a PETSc based application, a 1.75x-2.6x speedup is sustained in a multi-process environment on the Sunway TaiHuLight supercomputer.
"He could be a bunny rabbit for all I care": Exploring identification in digital games

Little empirical research has investigated how players identify with video game characters. In this paper, I use data from interviews with video game players who are members of marginalized groups, to interrogate the links made between how players identify with video game characters and the importance of representation. I discuss how games‟ ludic, bodily and socially interactive aspects result in players‟ being self-reflexive rather than identifying with the game characters/avatars; whereas narrative aspects of games help players identify with characters. Different types of games, moreover, shape the types of relationships players have with the onscreen characters. This paper looks at the links between how players identify with different kinds of video game characters, and concludes with the implications this has for arguments about the importance of the representation of marginalized groups in video games.
Massively Parallel Huffman Decoding on GPUs

Data compression is a fundamental building block in a wide range of applications. Besides its intended purpose to save valuable storage on hard disks, compression can be utilized to increase the effective bandwidth to attached storage as realized by state-of-the-art file systems. In the foreseeing future, on-the-fly compression and decompression will gain utmost importance for the processing of data-intensive applications such as streamed Deep Learning tasks or Next Generation Sequencing pipelines, which establishes the need for fast parallel implementations. Huffman coding is an integral part of a number of compression methods. However, efficient parallel implementation of Huffman decompression is difficult due to inherent data dependencies (i.e. the location of a decoded symbol depends on its predecessors). In this paper, we present the first massively parallel decoder implementation that is compatible with Huffman's original method by taking advantage of the self-synchronization property of Huffman codes. Our performance evaluation on three different CUDA-enabled GPUs (TITAN V, TITAN XP, GTX 1080) demonstrates speedups of over one order-of-magnitude compared to the state-of-art CPU-based Zstandard Huffman decoder. Our implementation is available at https://github.com/weissenberger/gpuhd.
An analysis and comparison of database cracking kernels

Database indexes are a core technique to speed up data retrieval in any kind of data processing system. However, in the presence of schemas with many attributes it becomes infeasible to create indexes for all columns, as maintenance costs and space requirements are simply too high. In these situations, a much more promising approach is to adaptively index the data, i.e. the database gradually partitions (or cracks) those columns that are frequently used in selections. In doing so, the "indexedness" of a table adapts to the requirements of the workload. A large body of work has investigated database cracking, which is a subset of adaptive indexing. Irrespective of their algorithmic behavior, essentially all these works have in common, that the proposed methods use a simple two-sided in-place cracking kernel at the core, which performs a partitioning step. As this partitioning makes a large portion of the total indexing effort, the choice of the kernel can make a factor of two difference in the running time for a method sitting on top. To approach the topic, we first perform an experimental evaluation of existing state-of-the-art kernels and study their respective downsides in detail. Based on the gained insights, we propose both an advanced version of the best existing kernel as well as a new and unconventional approach, which utilizes features of the operating system as well as data parallelism. In our final evaluation of all kernels, we vary entry size, index layout, selectivity, and number of threads, and provide a decision tree to select the best cracking kernel for the respective situation.
Examining conversations between police agencies and the public on Facebook

Social media has emerged to be a new platform for facilitating collaboration between police agencies and the public. However, police agencies still fall short in determining the tactics and strategies to interact with the public in an effective manner. Our work focuses on analyzing conversations between police agencies and the public on Facebook. More specifically, we studied the contents of the agencies' posts, how the public commented on these posts, and further, how agencies responded to the public's comments. We generated code-schemes for categorizing the public's comments and the replies of police agencies to them. We further conducted both quantitative and qualitative analyses to understand patterns of their conversations on Facebook. Our findings suggest several practical implications for police agencies to improve their services via social media.
Design of a 5-Gb/s PRBS generator in 0.18µm CMOS process

High frequency CMOS design techniques, with attention to design for test, were used to create a 5-Gb/s 2^7-1 pseudo-random bit sequence generator (PRBS) for high-speed digital signal test in a standard 0. 18μm CMOS technology. The design utilized optimized current mode logic (CML) cells to realize the digital logic functions as well as inductively peaked output drivers to maximize circuit bandwidth. The design was verified both through Spectre simulations and lab measurements.
Satisfaction, Practices, and Influences in Agile Software Development

The principles behind the Agile Manifesto begin with "Our highest priority is to satisfy the customer. ". It also states that Agile projects should be build around motivated and self-organized teams, which might also lead to more satisfied developers. Several studies indeed report an increased job satisfaction by anecdotal evidence. In this paper we address the topic of satisfaction by in-depth analysis of the results of a nationwide survey about software development in Switzerland. We wanted to find out if satisfaction depends on the applied development method, and, more concrete, how satisfaction relates to other elements in the development process, including the use of various practices, and the influences on business, team and software issues. We found that higher satisfaction is reported more by those using Agile development than with plan-driven processes. We explored the different perspectives of developers and those with a management role and found a high consistency of satisfaction between Agile developers and Agile management, and big differences with using working plan-driven methods. We found that certain practices and influences have high correlations to satisfaction, and that collaborative processes are closely related to satisfaction, especially when combined with technical practices. Applying recursive partitioning, we found which elements were most important for satisfaction, and gained insight about how practices and influences work in combination. We also explored the relationship between satisfaction and personal experience with Agile development. Our results in this analysis are principally descriptive, but we think they can be a relevant contribution to understand the challenges for everyone involved in Agile development, and can help in the transformation to Agile.
Detecting Ransomware using Support Vector Machines

Ransomeware is the most prevalent malicious software in 2017 that encrypts the files in a victim's machine and demands money, i.e., ransom, for decrypting the files. The global damage cost and financial losses of individuals and organizations due to ransomware is increasing year by year. Therefore, fighting against ransomware is an urgent issue. In this paper, we propose a ransomware detection scheme using support vector machines (SVMs), which is one of supervised machine learning algorithms. The key idea of the proposed scheme is to let a SVM learn the API calls of ransomware as its features so that the SVM detects unseen ransomware. Unlike the existing solutions, our scheme looks into the API call history in more detail. The testbeds using real 276 ransomware with San-box demonstrate that the proposed scheme improves the correct detection rate of ransomware.
Introducing I2head database

I2Head database has been created with the aim to become an optimal reference for low cost gaze estimation. It exhibits the following outstanding characteristics: it takes into account key aspects of low resolution eye tracking technology; it combines images of users gazing at different grids of points from alternative positions with registers of user's head position and it provides calibration information of the camera and a simple 3D head model for each user. Hardware used to build the database includes a 6D magnetic sensor and a webcam. A careful calibration method between the sensor and the camera has been developed to guarantee the accuracy of the data. Different sessions have been recorded for each user including not only static head scenarios but also controlled displacements and even free head movements. The database is an outstanding framework to test both gaze estimation algorithms and head pose estimation methods.