ppxscal/embedding_network huggingface dataset:
Algorithmic transformations in the implementation of K- means clustering on reconfigurable hardware
Authors: Mike Estlick, Miriam Leeser, James Theiler, John J. Szymanski
Venue: Proceedings of the 2001 ACM/SIGDA ninth international symposium on Field programmable gate arrays (2001)

In mapping the k-means algorithm to FPGA hardware, we examined algorithm level transforms that dramatically increased the achievable parallelism. We apply the k-means algorithm to multi-spectral and hyper-spectral images, which have tens to hundreds of channels per pixel of data. K-means is an iterative algorithm that assigns assigns to each pixel a label indicating which of K clusters the pixel belongs to.K-means is a common solution to the segmentation of multi-dimensional data. The standard software implementation of k-means uses floating-point arithmetic and Euclidean distances. Floating point arithmetic and the multiplication-heavy Euclidean distance calculation are fine on a general purpose processor, but they have large area and speed penalties when implemented on an FPGA. In order to get the best performance of k-means on an FPGA, the algorithm needs to be transformed to eliminate these operations. We examined the effects of using two other distance measures, Manhattan and Max, that do not require multipliers. We also examined the effects of using fixed precision and truncated bit widths in the algorithm.It is important to explore algorithmic level transforms and tradeoffs when mapping an algorithm to reconfigurable hardware. A direct translation of the standard software implementation of k-means would result in a very inefficient use of FPGA hardware resources. Analysis of the algorithm and data is necessary for a more efficient implementation. Our resulting implementation exhibits approximately a 200 times speed up over a software implementation.
An approach to safe object sharing
Authors: Ciarán Bryce, Chrislain Razafimahefa
Venue: Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications (2000)

It is essential for security to be able to isolate mistrusting programs from one another, and to protect the host platform from programs. Isolation is difficult in object-oriented systems because objects can easily become aliased. Aliases that cross program boundaries can allow programs to exchange information without using a system provided interface that could control information exchange. In Java, mistrusting programs are placed in distinct loader spaces but uncontrolled sharing of system classes can still lead to aliases between programs. This paper presents the object spaces protection model for an object-oriented system. The model decomposes an application into a set of spaces, and each object is assigned to one space. All method calls between objects in different spaces are mediated by a security policy. An implementation of the model in Java is presented.
Designing for context: usability in a ubiquitous environment
Authors: Jenna Burrell, Paul Treadwell, Geri K. Gay
Venue: Proceedings on the 2000 conference on Universal Usability (2000)

Freeing users from the desktop is now a practical reality in many environments. The implications for mobility are both far-reaching and under-realized in many of the current scenarios we have seen. Our work has focused on the integration of user input into the iterative design process used to develop a contextually aware application for use in an educational environment. We discuss the design and development of Semaphore, a contextually aware tool for use in wireless networked environments, and the unique opportunities an iterative design process presents for our work.
Integrating tools and infrastructures for generic multi-agent systems
Authors: Olivier Gutknecht, Jacques Ferber, Fabien Michel
Venue: Proceedings of the fifth international conference on Autonomous agents (2001)

In this paper, we present MadKit/SEdit, an agent infrastructure combined with a generic design tool for multi-agent systems. This toolkit is based on a organizational metaphor to integrate highly heterogeneous agent systems. We explain the principles of MadKit, the underlying agent platform, and show how it can integrate various agent architectures and provides structuration for multiple simultaneous systems and semantics. The architecture, based on a minimal agent runtime, agentified platform services and modular application host, is presented. The SEdit design tool, built itself as a MAS is also discussed. We present its key points in terms of multi-model support, and integration with the infrastructure, from design to maintenance. We illustrate our approach by discussing some consequences of this architecture, and describe our motivation for this design: integration and reuse, organizational patterns, and overall versatility. A summary is given of some key MadKit-based applications to date.
An effective general connectivity concept for clustering
Authors: J. Song, Z. Shen, W. Zhuang
Venue: Proceedings of the conference on Design, automation and test in Europe (1998)

This paper shows how algorithmic techniques and parallel processing can speed up general connectivity computation. A new algorithm, called Concurrent Group Search Algorithm (CGSA), is proposed that divides (N-1)N/2 vertex pairs into N-1 groups. Within each group general connectivities of all pairs can be calculated concurrently. Our experimental results show that this technique can achieve speedup of 12 times for one circuit. In addition, group computations are parallelized on a 16-node IBM SP2 with a speedup of 14 times over its serial counterpart observed. Combining the two approaches could result in a total speedup of up to 170 times, reducing CPU time from over 200 hours to 1.2 hour for one circuit. Our new model is better than those without clustering because it characterizes the connection graph more accurately, is faster to compute and produces better results. The best performance improvements are 43% for one circuit and 49% for another.
Explaining collaborative filtering recommendations
Authors: Jonathan L. Herlocker, Joseph A. Konstan, John Riedl
Venue: Proceedings of the 2000 ACM conference on Computer supported cooperative work (2000)

Automated collaborative filtering (ACF) systems predict a person's affinity for items or information by connecting that person's recorded interests with the recorded interests of a community of people and sharing ratings between like-minded persons. However, current recommender systems are black boxes, providing no transparency into the working of the recommendation. Explanations provide that transparency, exposing the reasoning and data behind a recommendation. In this paper, we address explanation interfaces for ACF systems - how they should be implemented and why they should be implemented. To explore how, we present a model for explanations based on the user's conceptual model of the recommendation process. We then present experimental results demonstrating what components of an explanation are the most compelling. To address why, we present experimental evidence that shows that providing explanations can improve the acceptance of ACF systems. We also describe some initial explorations into measuring how explanations can improve the filtering performance of users.
A note on reliable full-duplex transmission over half-duplex links
Authors: K. A. Bartlett, R. A. Scantlebury, P. T. Wilkinson
Venue: Communications of the ACM (1969)

A simple procedure for achieving reliable full-duplex transmission over half-duplex links is proposed. The scheme is compared with another of the same type, which has recently been described in the literature. Finally, some comments are made on another group of related transmission procedures which have been shown to be unreliable under some circumstances.
Telecommunications using a front-end minicomputer
Authors: Y. Feinroth, E. Franceschini, M. Goldstein
Venue: Communications of the ACM (1973)

The use of a front-end minicomputer to provide varied remote terminal access to a large scale computer is considered. The problems of embedding telecommunications I/O within an operating system are discussed, and it is shown how the decentralization of intelligence acquired by front-end processing vastly simplifies the problem. A specific implementation is discussed with emphasis on the main processor-minicomputer link, the hardware-software implementation, the effect on the main processor operating system, and an assessment of the advantages over a hardwired line controller.
Subgoal induction
Authors: James H. Morris,  Jr., Ben Wegbreit
Venue: Communications of the ACM (1977)

A proof method, subgoal induction, is presented as an alternative or supplement to the commonly used inductive assertion method. Its major virtue is that it can often be used to prove a loop's correctness directly from its input-output specification without the use of an invariant. The relation between subgoal induction and other commonly used induction rules is explored and, in particular, it is shown that subgoal induction can be viewed as a specialized form of computation induction. A set of sufficient conditions are presented which guarantee that an input-output specification is strong enough for the induction step of a proof by subgoal induction to be valid.
Decoding combinations of the first n integers taken k at a time
Authors: Richard M. Brown
Venue: Communications of the ACM (1960)

The following problem arose in connection with some studies involving game programming: the representation of any position in the game tree was formed by a sequence of k different integers selected from the first n integers. It was desired to decode any of these representations to a unique memory address such that all such addresses formed a compact group in the memory. Mathematically, the problem was to find a transformation of the representation such that any of the n!/(n - k)! sequences transformed uniquely to one of the set of integers from 0 to [n!/(n - k)! - 1]. A procedure for this is described here.
Software synthesis and applications (abstract only)
Authors: Douglas R. Smith
Venue: Proceedings of the third workshop on Formal methods in software practice (2000)

This talk presents a mechanizable framework for software development by refinement. The framework is based on a category of specifications. One of the key ideas of Designware is representing knowledge about programming concepts, such as algorithm design and datatype refinement, by means of taxonomies of design theories. The framework is partially implemented in the research systems Specware, Designware, and Planware. Specware provides basic support for composing specifications and refinements, and generating code. Specware is intended to be general-purpose and has found use in industrial settings. Designware extends Specware with taxonomies of software design theories and support for constructing refinements from them. Planware builds on Designware to provide highly automated support for requirements acquisition and synthesis of high-performance scheduling algorithms. I will also discuss how synthesis technology is being used to develop and deploy the next-generation transportation scheduling system for the Air Mobility Command at Scott AFB.
Representing internet streaming media metadata using MPEG-7 multimedia description schemes
Authors: Eric Rehm
Venue: Proceedings of the 2000 ACM workshops on Multimedia (2000)

Singingfish.com uses MPEG-7 description schemes to model the metadata characteristics of Internet streaming media. Further it has used MPEG-7 description schemes as the basis for a number of internal experiments, processes, as well as interchange with commercial content partners. This paper describes our selection of description schemes from the MPEG-7 Multimedia Description Schemes (MDS) Working Drafts, their ability (or lack thereof) to represent Internet streaming media metadata, and our experiences (successes and failures) in using MPEG-7 DS's in various applications critical to building an Internet streaming media search engine.
Numerical Treatment of the Navier--Stokes Equations with Slip Boundary Condition
Authors: Eberhard Bänsch, Burkhard Höhn
Venue: SIAM Journal on Scientific Computing (1999)

In this article we present efficient numerical methods for the Navier--Stokes equations with slip boundary conditions. A first method is based on a saddle-point formulation of the slip boundary condition. A congruent gradient (CG) method is applied to the Schur complement operator in order to solve the problem. We present two preconditioners for the CG-method which result in convergence rates independent of the mesh size. For a second method the slip boundary condition is enforced pointwise for nodal values of the velocity at boundary nodes.
Re-configurable computing in wireless
Authors: Bill Salefski, Levent Caglar
Venue: Proceedings of the 38th annual Design Automation Conference (2001)

Wireless communications requires a new approach to implement the algorithms for new standards. The computational demands of these standards are outstripping the ability of traditional signal processors, and standards are changing too quickly for traditional hardware implementation. In this paper we outline how reconfigurable processing can meet the needs for wireless base station design while providing the programmability to allow not just field upgrades as standards evolve, but also to adapt to much more dynamic factors in the environment such as traffic mix and the weather. We outline how a designer works with the Chameleon reconfigurable processor from algorithm design to prototyping on a development module.
Freenet Installation and Administration
Authors: Peter Todd
Venue: Linux Journal (2001)

Get involved in the most exciting file-sharing technology.
Secure communications over insecure channels
Authors: Ralph C. Merkle
Venue: Communications of the ACM (1978)

According to traditional conceptions of cryptographic security, it is necessary to transmit a key, by secret means, before encrypted massages can be sent securely. This paper shows that it is possible to select a key over open communications channels in such a fashion that communications security can be maintained. A method is described which forces any enemy to expend an amount of work which increases as the square of the work required of the two communicants to select the key. The method provides a logically new kind of protection against the passive eavesdropper. It suggests that further research on this topic will be highly rewarding, both in a theoretical and a practical sense.
Tuning high-performance scientific codes: the use of performance models to control resource usage during data migration and I/O
Authors: Jonghyun Lee, Marianne Winslett, Xiaosong Ma, Shengke Yu
Venue: Proceedings of the 15th international conference on Supercomputing (2001)

Large-scale parallel simulations are a popular tool for investigating phenomena ranging from nuclear explosions to protein folding. These codes produce copious output that must be moved to the workstation where it will be visualized. Scientists have a variety of tools to help them with this data movement, and often have several different platforms available to them for their runs. Thus questions arise such as, which data migration approach is best for a particular code and platform? Which will provide the best end-to-end response time, or lowest cost? Scientists also control how much data is output, and how often. From a scientific perspective, the more output the better; but from a cost and response time perspective, how much output is too much? To answer these questions, we built performance models for data migration approaches and verified them on parallel and sequential platforms. We use a 3D hydrodynamics code to show how scientists can use the models to predict performance and tune the I/O aspects of their codes.
Usability and public administration: experiences of a difficult marriage
Authors: Tiziana Catarci, Giacinto Matarazzo, Gianluigi Raiss
Venue: Proceedings on the 2000 conference on Universal Usability (2000)

Approximately one and half year ago, the Italian authority which controls the software diffusion in Public Administrations (Autorit&agrave; per l'Informatica nella Pubblica Amministrazione - AIPA) created a working group, the Usability Working Group, with the main purposes of assessing the extent to which both suppliers of computer technologies and the public administration pay attention to product usability and of surveying the level of comfort (or discomfort) the public administration users reach when interacting with new software systems. The group had also the duty of determining possible improvements and indicating how to obtain them in the short-medium term. Among the various activities of the group, two tests carried out for the public administration on two different development designs of interactive systems gave several hints. This paper reports about such tests and their outcomes. In particular, it concentrates on: 1) work methods of the design teams; 2) participation modes of the public administration in the design process; 3) users' evaluation of the system usability with respect to their implicit and explicit needs. Finally, the lessons learned from this experience are discussed.
Using a multiagent language for collaborative interactive prototyping (poster session)
Authors: Vincent Rodin, Valéry Raulet, Alexis Nédélec
Venue: Proceedings of the third international conference on Collaborative virtual environments (2000)

This paper introduces a Distributed Virtual Realit yplatform based on oRis, our dynamic and interpreted multi-agent language. This platform, called AR&eacute;ViDis, has been designed for collaborative interactiv e protot yping. During an AR&eacute;ViDis session, the dynamic properties of oRis allow the addition, modification or destruction of virtual agen ts in a distributed virtual environment. These modifications may either be introduced by the agents themselves or b y the users through various Computer Human Interfaces (CHI). These modifications may also be received accross the netw ork allowing communications in shared virtual worlds.
The Generic Consensus Service
Authors: Rachid Guerraoui, André Schiper
Venue: IEEE Transactions on Software Engineering (2001)

This paper describes a modular approach for the construction of fault-tolerant agreement protocols. The approach is based on a generic consensus service. Fault-tolerant agreement protocols are built using a client-server interaction, where the clients are the processes that must solve the agreement problem and the servers implement the consensus service. This service is accessed through a generic consensus filter, customized for each specific agreement problem. We illustrate our approach on the construction of various fault-tolerant agreement protocols, such as nonblocking atomic commitment, group membership, view synchronous communication, and total order multicast. Through a systematic reduction to consensus, we provide a simple way to solve agreement problems. In addition to its modularity, our approach enables efficient implementations of agreement protocols and precise characterization of the assumptions underlying their liveness and safety properties.
Programmed methods for printer graphical output
Authors: David Garfinkel
Venue: Communications of the ACM (1962)

It is frequently desirable to display the results of computation in a graphical form. This is often done through the use of special hardware such as digital X,Y-plotters. Programmed graphical output for standard printers is preferable in several situations: (1) when economic considerations do not justify the expense of special hardware for the purpose, (2) when a combination of graphical output with some other kind, such as explanatory material, is desired, and (3) when some special variety of graphical output is needed which cannot readily be drawn by an analog device. A number of routines have been prepared (primarily by users rather than manufacturers) to convert numerical data into graphical form for printing by output typewriters or line printers. Virtually nothing on this subject has been published, and this report represents an admittedly incomplete attempt to describe this technique and suggest possibilities for its use. The ACM Portal is published by the Association for Computing Machinery. Copyright © 2010 ACM, Inc. Terms of Usage Privacy Policy Code of Ethics Contact Us Useful downloads: Adobe Acrobat QuickTime Windows Media Player Real Player
On algorithms for efficient data migration
Authors: Joseph Hall, Jason Hartline, Anna R. Karlin, Jared Saia, John Wilkes
Venue: Proceedings of the twelfth annual ACM-SIAM symposium on Discrete algorithms (2001)

The data migration problem is the problem of computing an efficient plan for moving data stored on devices in a network from one configuration to another. Load balancing or changing usage patterns could necessitate such a rearrangement of data. In this paper, we consider the case where the objects are fixed-size and the network is complete. The direct migration problem is closely related to edge-coloring. However, because there are space constraints on the devices, the problem is more complex. Our main results are polynomial time algorithms for finding a near-optimal migration plan in the presence of space constraints when a certain number of additional nodes is available as temporary storage, and a 3/2-approximation for the case where data must be migrated directly to its destination.
Associative Memories in Infinite Dimensional Spaces
Authors: Enrique Carlos Segura, Roberto P. J. Perazzo
Venue: Neural Processing Letters (2000)

A generalization of the Little&ndash;Hopfield neural network model for associative memories is presented that considers the case of a continuum of processing units. The state space corresponds to an infinite dimensional euclidean space. A dynamics is proposed that minimizes an energy functional that is a natural extension of the discrete case. The case in which the synaptic weight operator is defined through the autocorrelation rule (Hebb rule) with orthogonal memories is analyzed. We also consider the case of memories that are not orthogonal. Finally, we discuss the generalization of the non deterministic, finite temperature dynamics.
SABRAC, a time-sharing low-cost computer
Authors: M. Lehman, Z. Netter, R. Eshed
Venue: Communications of the ACM (1963)

The serial SABRAC computer designed and built in the Scientific Department of the Israel Defence Ministry has a 5000-location magnetic drum, main store. To avoid a need to resort to optimum programming techniques and to increase its overall efficiency the computer has also been given a 224-word ferrite core store from which the program is obeyed. Transfers between the core and drum stores and to and from the twin paper-tape input and output channels are all available autonomously (concurrently, time-shared). Multiplication and division orders are also autonomous, so that the machine may be executing up to three orders simultaneously. All functions naturally are interlocked. A number of other advanced orders and facilities are also incorporated. In particular, an &ldquo;Execute&rdquo; order permits a temporary jump for up to four orders and a second modifier register permits double modification in general and relative addressing of subroutines in particular. Thus the overall effective speed of the machine is much higher than its basic specification would lead one to expect and its design indicates one way in which the concepts of time sharing may be incorporated in &ldquo;low-cost&rdquo; computers.