scispace - formally typeset
Search or ask a question

Showing papers by "Charles E. Leiserson published in 2018"


Posted Content
TL;DR: A first look at scalable graph convolutional neural networks for forensic analysis of financial data, which is massive, dense, and dynamic, and supports the working hypothesis that graph deep learning for AML bears great promise in the fight against criminal financial activity.
Abstract: Organized crime inflicts human suffering on a genocidal scale: the Mexican drug cartels have murdered 150,000 people since 2006, upwards of 700,000 people per year are "exported" in a human trafficking industry enslaving an estimated 40 million people. These nefarious industries rely on sophisticated money laundering schemes to operate. Despite tremendous resources dedicated to anti-money laundering (AML) only a tiny fraction of illicit activity is prevented. The research community can help. In this brief paper, we map the structural and behavioral dynamics driving the technical challenge. We review AML methods, current and emergent. We provide a first look at scalable graph convolutional neural networks for forensic analysis of financial data, which is massive, dense, and dynamic. We report preliminary experimental results using a large synthetic graph (1M nodes, 9M edges) generated by a data simulator we created called AMLSim. We consider opportunities for high performance efficiency, in terms of computation and memory, and we share results from a simple graph compression experiment. Our results support our working hypothesis that graph deep learning for AML bears great promise in the fight against criminal financial activity.

49 citations


Proceedings ArticleDOI
11 Jul 2018
TL;DR: Open Cilk is a new open-source platform to support Cilk multithreaded programming, especially for researchers and teachers, and will provide a streamlined runtime system and feature comprehensive static instrumentation for dynamic-analysis tools.
Abstract: Open Cilk is a new open-source platform to support Cilk multithreaded programming, especially for researchers and teachers. Open Cilk aims to provide a full-featured implementation of Cilk that is easy to modify and extend. Based on the award-winning Tapir/LLVM compiler, Open Cilk will provide a streamlined runtime system and feature comprehensive static instrumentation for dynamic-analysis tools. As a community-infrastructure project, Open Cilk encourages contributions from researchers in the areas of languages, compilers, runtime systems, tools, libraries, and benchmarks.

17 citations


Proceedings ArticleDOI
12 Jun 2018
TL;DR: A standard API is defined for CSI and modified LLVM to insert CSI hooks into the compiler's internal representation of the program, which allows many compiler-based tools to be written as simple libraries without modifying the compiler, lowering the bar for the development of dynamic-analysis tools.
Abstract: The CSI framework provides comprehensive static instrumentation that a compiler can insert into a program-under-test so that dynamic-analysis tools - memory checkers, race detectors, cache simulators, performance profilers, code-coverage analyzers, etc. - can observe and investigate runtime behavior. Heretofore, tools based on compiler instrumentation would each separately modify the compiler to insert their own instrumentation. In contrast, CSI inserts a standard collection of instrumentation hooks into the program-under-test. Each CSI-tool is implemented as a library that defines relevant hooks, and the remaining hooks are "nulled" out and elided during either compile-time or link-time optimization, resulting in instrumented runtimes on par with custom instrumentation. CSI allows many compiler-based tools to be written as simple libraries without modifying the compiler, lowering the bar for the development of dynamic-analysis tools. We have defined a standard API for CSI and modified LLVM to insert CSI hooks into the compiler's internal representation (IR) of the program. The API organizes IR objects - such as functions, basic blocks, and memory accesses - into flat and compact ID spaces, which not only simplifies the building of tools, but surprisingly enables faster maintenance of IR-object data than do traditional hash tables. CSI hooks contain a "property" parameter that allows tools to customize behavior based on static information without introducing overhead. CSI provides "forensic" tables that tools can use to associate IR objects with source-code locations and to relate IR objects to each other. To evaluate the efficacy of CSI, we implemented six demonstration CSI-tools. One of our studies shows that compiling with CSI and linking with the "null" CSI-tool produces a tool-instrumented executable that is as fast as the original uninstrumented code. Another study, using a CSI port of Google's ThreadSanitizer, shows that the CSI-tool rivals the performance of Google's custom compiler-based implementation. All other demonstration CSI tools slow down the execution of the program-under-test by less than 70%.

13 citations


Proceedings ArticleDOI
11 Jul 2018
TL;DR: Today, most application developers write code without much regard for how quickly it will run, but two technology trends of historic proportions are instigating a resurgence in software performance engineering, the art of making code run fast.
Abstract: Today, most application developers write code without much regard for how quickly it will run. Moreover, once the code is written, it is rare for it to be reengineered to run faster. But two technology trends of historic proportions are instigating a resurgence in software performance engineering, the art of making code run fast. The first is the emergence of cloud computing, where the economics of renting computation, as opposed to buying it, heightens the utility of application speed. The second is the end of Moore's Law, the 50-year technology trend which has, until recently, relentlessly doubled the number of transistors on a semiconductor chip every two years. The end of Moore's Law will cause industry to look beyond semiconductor manufacturers for computing performance. As a result of these two trends, application programmers will increasingly find themselves turning to software performance engineering in order to develop innovative products and applications.

2 citations