Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Nicholas Gerard Edmonds

dblp:61/9116 · also Nick Edmonds · DBLP profile ↗
← Back
11ranked-venue papers
4as first author
2since 2021 · last 2024
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 6 · 3 first-authorDatabases, data management, data science and information retrieval · 3 · 2 since 2021Artificial intelligence and machine learning · 2 · 2 since 2021Computer networks · 1 · 1 first-authorSoftware engineering, systems software and programming languages · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Artificial intelligence
3 papers
Information extraction and text analysis · 36% Language models and text generation · 33% Knowledge representation and reasoning · 16%
Computer architecture, parallel and distributed computing, and storage systems
3 papers
Parallel and multicore computing · 92% High-performance computing · 6% Embedded and real-time systems · 3%
Databases, data mining, and information retrieval
2 papers
Knowledge graphs · 60% Data stream processing · 40%
Theoretical computer science
1 paper
Graph algorithms and graph theory · 100%

Topics — the 17 heaviest of 19, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Natural language and speech › Language models and text generation
large language model evaluation
0.812024
Measuring an LLM's Proficiency at using APIs: A Query Generation Strategy · KDD 2024
Knowledge, reasoning and agents › Knowledge representation and reasoning › knowledge acquisition › knowledge extraction
attribute extraction
0.612022
Learning Transferable Node Representations for Attribute Extraction from Web Documents · WSDM 2022
Machine learning › Graph learning › graph representation learning
node representation learning
0.612022
Learning Transferable Node Representations for Attribute Extraction from Web Documents · WSDM 2022
Natural language and speech › Information extraction and text analysis
web information extraction
0.612022
Learning Transferable Node Representations for Attribute Extraction from Web Documents · WSDM 2022
Natural language and speech › Information extraction and text analysis › document analysis
email information extraction
0.412019
Online Template Induction for Machine-Generated Emails · Proc. VLDB Endow. 2019
Natural language and speech › Information extraction and text analysis › pattern learning
template learning
0.412019
Online Template Induction for Machine-Generated Emails · Proc. VLDB Endow. 2019
Natural language and speech › Language models and text generation › agentic language model › tool-augmented language models
function calling
0.212024
Measuring an LLM's Proficiency at using APIs: A Query Generation Strategy · KDD 2024
Natural language and speech › Language models and text generation › agentic language model
tool-augmented language models
0.212024
Measuring an LLM's Proficiency at using APIs: A Query Generation Strategy · KDD 2024
Knowledge graphs
knowledge graph construction
0.212022
Learning Transferable Node Representations for Attribute Extraction from Web Documents · WSDM 2022
Parallel and multicore computing › parallel programming runtimes
active messages
0.212013
Expressing graph algorithms using generalized active messages · PPoPP 2013
Parallel and multicore computing
parallel programming runtimes
0.212013
Expressing graph algorithms using generalized active messages · PPoPP 2013
Parallel and multicore computing › parallel computing › parallel applications
irregular applications
0.112011
Active pebbles: a programming model for highly parallel fine-grained data-driven computations · PPoPP 2011
Parallel and multicore computing
parallel programming models
0.112011
Active pebbles: a programming model for highly parallel fine-grained data-driven computations · PPoPP 2011
Data stream processing
stream processing systems
0.112019
Online Template Induction for Machine-Generated Emails · Proc. VLDB Endow. 2019
Internet of things and sensor networks › wireless sensor network › wireless sensor network platform
modular sensor node architecture
0.112005
Mass: modular architecture for sensor systems · IPSN 2005
Internet of things and sensor networks › wireless sensor network
wireless sensor network platform
0.112005
Mass: modular architecture for sensor systems · IPSN 2005
Embedded and real-time systems › embedded system design
embedded platform design
0.012005
Mass: modular architecture for sensor systems · IPSN 2005

Methods — techniques the papers use, named apart from their topics

tree node tagging · 1.1transfer learning · 1.1graph neural network · 1.1synthetic task generation · 0.8online template discovery · 0.8human evaluation · 0.8software routing · 0.3message combining · 0.3message coalescing · 0.3data-driven execution model · 0.1
YearPublicationVenuePosition
2024 Measuring an LLM's Proficiency at using APIs: A Query Generation Strategy
abstract
Connecting Large Language Models (LLMs) with the ability to leverage APIs (Web Search, Charting, Calculators, Calendar, Flight Search, Hotel Search, Data Lookup, etc. ) is likely to allow us to solve a variety of new hard problems.Several research efforts have made this observation and suggested recipes for LLMs to emit API calls, and proposed mechanisms by which they can generate additional text conditioned on the output for the API call.However, in practice, the focus has been on relatively simple slot-filling tasks that make an API call rather unlocking novel capabilities by combining different tools, reasoning over the response from a tool, making multiple invocations, or complex planning.In this paper, we pose the following question: what does it mean to say that an LLM is proficient at using a set of APIs?We answer this question in the context of structured APIs by defining seven capabilities for API-use.We provide an approach for generating synthetic tasks that exercise each of these capabilities given only the description of an API 1 .We argue that this provides practitioners with a principled way to construct a dataset to evaluate an LLM's ability to use a given set of APIs.Through human evaluations, we show that our approach produces high-quality tasks for each of the seven capabilities.We also describe how we used this approach to on-board new API and create principled evaluation sets for multiple LLM-based products.
Ying Sheng 0002, Sudeep Gandhe, Bhargav Kanagal, Nicholas Gerard Edmonds, Zachary Fisher, Sandeep Tata, Aarush Selvan
KDD4
2022 Learning Transferable Node Representations for Attribute Extraction from Web Documents
abstract
Given a web page, extracting an object along with various attributes of interest (e.g. price, publisher, author, and genre for a book) can facilitate a variety of downstream applications such as large-scale knowledge base construction, e-commerce product search, and personalized recommendation. Prior approaches have either relied on computationally expensive visual feature engineering or required large amounts of training data to get to an acceptable precision. In this paper, we propose a novel method, LeArNing TransfErable node RepresentatioNs for Attribute Extraction (LANTERN), to tackle the problem. We model the problem as a tree node tagging task. The key insight is to learn a contextual representation for each node in the DOM tree where the context explicitly takes into account the tree structure of the neighborhood around the node. Experiments on the SWDE public dataset show that LANTERN outperforms the previous state-of-the-art (SOTA) by 1.44% (F1 score) with a dramatically simpler model architecture. Furthermore, we report that utilizing data from a different domain (for instance, using training data about web pages with cars to extract book objects) is surprisingly useful and helps beat the SOTA by a further 1.37%.
Yichao Zhou 0001, Ying Sheng 0002, Nguyen Vo, Nicholas Gerard Edmonds, Sandeep Tata
WSDM4
2019 Online Template Induction for Machine-Generated Emails
abstract
In emails, information abounds. Whether it be a bill reminder, a hotel confirmation, or a shipping notification, our emails contain useful bits of information that enable a number of applications. Most of this email traffic is machine-generated, sent from a business to a human. These business-to-consumer emails are typically instantiated from a set of email templates, and discovering these templates is a key step in enabling a variety of intelligent experiences. Existing email information extraction systems typically separate information extraction into two steps: an offline template discovery process (called template induction) that is periodically run on a sample of emails, and an online email annotation process that applies discovered templates to emails as they arrive. Since information extraction requires an email's template to be known, any delay in discovering a newly created template causes missed extractions, lowering the overall extraction coverage. In this paper, we present a novel system called Crusher that discovers templates completely online, reducing template discovery delay from a week (for the existing MapReduce-based batch system) to minutes. Furthermore, Crusher has a resource consumption footprint that is significantly smaller than the existing batch system. We also report on the surprising lesson we learned that conventional stream processing systems do not present a good framework on which to build Crusher. Crusher delivers an order of magnitude more throughput than a prototype built using a stream processing engine. We hope that these lessons help designers of stream processing systems accommodate a broader range of applications like online template induction in the future.
Michael J. Whittaker, Nicholas Gerard Edmonds, Sandeep Tata, James B. Wendt, Marc Najork
Proc. VLDB Endow.2
2013 Expressing graph algorithms using generalized active messages
abstract
Recently, graph computation has emerged as an important class of high-performance computing application whose characteristics differ markedly from those of traditional, compute-bound kernels. Libraries such as BLAS, LAPACK, and others have been successful in codifying best practices in numerical computing. The data-driven nature of graph applications necessitates a more complex application stack incorporating runtime optimization. In this paper, we present a method of phrasing graph algorithms as collections of asynchronous, concurrently executing, concise code fragments which may be invoked both locally and in remote address spaces. A runtime layer performs a number of dynamic optimizations, including message coalescing, message combining, and software routing. We identify a number of common patterns in these algorithms, and explore how this programming model can express those patterns. Algorithmic transformations are discussed which expose asyn- chrony that can be leveraged by the runtime to improve performance and reduce resource utilization. Practical implementations and performance results are provided for a number of representative algorithms.
Nicholas Gerard Edmonds, Jeremiah Willcock, Andrew Lumsdaine
ICS1
2013 Expressing graph algorithms using generalized active messages
abstract
Recently, graph computation has emerged as an important class of high-performance computing application whose characteristics differ markedly from those of traditional, compute-bound, kernels. Libraries such as BLAS, LAPACK, and others have been successful in codifying best practices in numerical computing. The data-driven nature of graph applications necessitates a more complex application stack incorporating runtime optimization. In this paper, we present a method of phrasing graph algorithms as collections of asynchronous, concurrently executing, concise code fragments which may be invoked both locally and in remote address spaces. A runtime layer performs a number of dynamic optimizations, including message coalescing, message combining, and software routing. Practical implementations and performance results are provided for a number of representative algorithms.
Nicholas Gerard Edmonds, Jeremiah Willcock, Andrew Lumsdaine
PPoPP1
2011 Active pebbles: parallel programming for data-driven applications
abstract
The scope of scientific computing continues to grow and now includes diverse application areas such as network analysis, combinatorialcomputing, and knowledge discovery, to name just a few. Large problems in these application areas require HPC resources, but they exhibit computation and communication patterns that are irregular, fine-grained, and non-local, making it difficult to apply traditional HPC approaches to achieve scalable solutions. In this paper we present Active Pebbles, a programming and execution model developed explicitly to enable the development of scalable software for these emerging application areas. Our approach relies on five main techniques--scalable addressing, active routing, message coalescing, message reduction, and termination detection--to separate algorithm expression from communication optimization. Using this approach, algorithms can be expressed in their natural forms, with their natural levels of granularity, while optimizations necessary for scalability can be applied automatically to match the characteristics of particular machines. We implement several example kernels using both Active Pebbles and existing programming models, evaluating both programmability and performance. Our experimental results demonstrate that the Active Pebbles model can succinctly and directly express irregular application kernels, while still achieving performance comparable to MPI-based implementations that are significantly more complex.
Jeremiah Willcock, Torsten Hoefler, Nicholas Gerard Edmonds, Andrew Lumsdaine
ICS3
2011 Active pebbles: a programming model for highly parallel fine-grained data-driven computations
abstract
A variety of programming models exist to support large-scale, distributed memory, parallel computation. These programming models have historically targeted coarse-grained applications with natural locality such as those found in a variety of scientific simulations of the physical world. Fine-grained, irregular, and unstructured applications such as those found in biology, social network analysis, and graph theory are less well supported. We propose Active Pebbles, a programming model which allows these applications to be expressed naturally; an accompanying execution model ensures performance and scalability.
Jeremiah Willcock, Torsten Hoefler, Nicholas Gerard Edmonds, Andrew Lumsdaine
PPoPP3
2010 AM++: a generalized active message framework
abstract
Active messages have proven to be an effective approach for certain communication problems in high performance computing. Many MPI implementations, as well as runtimes for Partitioned Global Address Space languages, use active messages in their low-level transport layers. However, most active message frameworks have low-level programming interfaces that require significant programming effort to use directly in applications and that also prevent optimization opportunities. In this paper we present AM++, a new user-level library for active messages based on generic programming techniques. Our library allows message handlers to be run in an explicit loop that can be optimized and vectorized by the compiler and that can also be executed in parallel on multicore architectures. Runtime optimizations, such as message combining and filtering, are also provided by the library, removing the need to implement that functionality at the application level. Evaluation of AM++ with distributed-memory graph algorithms shows the usability benefits provided by these library features, as well as their performance advantages.
Jeremiah Willcock, Torsten Hoefler, Nicholas Gerard Edmonds, Andrew Lumsdaine
PACT3
2010 A space-efficient parallel algorithm for computing betweenness centrality in distributed memory
abstract
Betweenness centrality is a measure based on shortest paths that attempts to quantify the relative importance of nodes in a network. As computation of betweenness centrality becomes increasingly important in areas such as social network analysis, networks of interest are becoming too large to fit in the memory of a single processing unit, making parallel execution a necessity. Parallelization over the vertex set of the standard algorithm, with a final reduction of the centrality for each vertex, is straightforward but requires Ω(|V|2) storage. In this paper we present a new parallelizable algorithm with low spatial complexity that is based on the best known sequential algorithm. Our algorithm requires O(|V| + |E|) storage and enables efficient parallel execution. Our algorithm is especially well suited to distributed memory processing because it can be implemented using coarse-grained parallelism. The presented time bounds for parallel execution of our algorithm on CRCW PRAM and on distributed memory systems both show good asymptotic performance. Experimental results with a distributed memory computer show the practical applicability of our algorithm.
Nicholas Gerard Edmonds, Torsten Hoefler, Andrew Lumsdaine
HiPC1
2005 Mass: modular architecture for sensor systems
abstract
Recent advances in low power microprocessors and power storage technology have allowed for the design of a broad range of sensor network platforms. Current sensor network platforms fall into one of two main categories, low power, application specific platforms and full featured general purpose platforms with higher power consumption. The former generally consist of a power-efficient microprocessor and a few application specific resources, while the latter generally have a general purpose processor and a full complement of resources available via a GPIO interface. General purpose platforms are readily available and can be adapted to almost any application but are less efficient with respect to power consumption than application specific solutions. Application specific solutions are extremely efficient and well suited to the problem they are designed for, but are time consuming and expensive to build. MASS is a modular sensor node architecture that enables rapid development of an application specific solution. While not as power-efficient as a completely custom solution, MASS provides application flexibility while being much more efficient than common-off-the-shelf general purpose sensor platforms. Because MASS is modular in both it's software and hardware design, it is straightforward to extend both the software platform and the hardware supporting it to suit an application. What this means is that a custom sensor network solution is now available at a much lower cost, and in a much shorter time-frame than was previously available. This makes a whole new class of sensor network applications feasible.
Nicholas Gerard Edmonds, Douglas Stark, Jesse Davis
IPSN1
2005 Method Of Interaction In A Modular Architecture For Sensor Systems (Mass)
abstract
The system level hardware architecture of individual nodes in a distributed wireless sensor network has not received adequate attention. A novel hardware architecture based on the concept of task specific modular computing provides both the high flexibility and power efficiency required for effective distributed sensing solutions. This paper presents this newly developed architecture and provides an analysis of two possible methods for module interaction. Results from simulations based on this analysis are given. Finally, a brief description of the hardware and software design and prototype implementation of the modular architecture for sensor systems (MASS) is given to show the ease of use of the conceptual architecture.
Jesse Davis, Douglas Stark, Nicholas Gerard Edmonds
Int. J. Softw. Eng. Knowl. Eng.3