ACM Queue

Queue is the ACM's magazine for practicing software practitioners. Queue focuses on the technical problems and challenges that loom ahead, helping readers to sharpen their own thinking and pursue innovative solutions. Queue does not focus on either industry news or the latest "solutions." Rather, Queue takes a critical look at current and emerging technologies, highlighting problems that are likely to arise and posing questions that software engineers should be thinking about.

Knowledge Base Construction in the Machine-learning EraThree critical design points: Joint-learning, weak supervision, a...
07/31/2018
Knowledge Base Construction in the Machine-learning Era - ACM Queue

Knowledge Base Construction in the Machine-learning Era

Three critical design points: Joint-learning, weak supervision, and new representations

This installment of Research for Practice features a curated selection from Alex Ratner and Chris Ré, who provide an overview of recent developments in Knowledge Base Construction (KBC). While knowledge bases have a long history dating to the expert systems of the 1970s, recent advances in machine learning have led to a knowledge base renaissance, with knowledge bases now powering major product functionality including Google Assistant, Amazon Alexa, Apple Siri, and Wolfram Alpha. Ratner and Ré's selections highlight key considerations in the modern KBC process, from interfaces that extract knowledge from domain experts to algorithms and representations that transfer knowledge across tasks.

http://ow.ly/O5YK30lcAga

This installment of Research for Practice features a curated selection from Alex Ratner and Chris Ré, who provide an overview of recent developments in Knowledge Base Construction (KBC). While knowledge bases have a long history dating to the expert systems of the 1970s, recent advances in machine ...

The Secret Formula for Choosing the Right Next Role:The best careers are not defined by titles or resume bullet points.-...
07/26/2018
The Secret Formula for Choosing the Right Next Role - ACM Queue

The Secret Formula for Choosing the Right Next Role:
The best careers are not defined by titles or resume bullet points.

- Kate Matsudaira

Changing jobs—especially the higher up you get in your career—is a complex process. There are so many factors to consider, and often the factors that stand out most are the ones that matter the least: fancy titles, exciting projects, tempting promises of future success

But those factors that seem so valuable in the moment are just that—they are momentary. Your career isn't just about this one next step you're taking. Your career is a journey that will last a long time.

It is smarter to invest in your long-term success. Focus on factors that will increase your career capital and make you a more valuable hire in your next role, and the one after that, and the one after that.

When you are looking at the options for your next role, there are smarter choices that you can make. Here are the most important factors to consider when picking your next opportunity.

http://ow.ly/VG0p30l8d0N

Changing jobs—especially the higher up you get in your career—is a complex process. There are so many factors to consider, and often the factors that stand out most are the ones that matter the least: fancy titles, exciting projects, tempting promises of future success

The Mythos of Model InterpretabilityIn machine learning, the concept of interpretability is both important and slippery....
07/18/2018
The Mythos of Model Interpretability - ACM Queue

The Mythos of Model Interpretability

In machine learning, the concept of interpretability is both important and slippery.

- Zachary C. Lipton

Supervised machine-learning models boast remarkable predictive capabilities. But can you trust your model? Will it work in deployment? What else can it tell you about the world? Models should be not only good, but also interpretable, yet the task of interpretation appears underspecified. The academic literature has provided diverse and sometimes non-overlapping motivations for interpretability and has offered myriad techniques for rendering interpretable models. Despite this ambiguity, many authors proclaim their models to be interpretable axiomatically, absent further argument. Problematically, it is not clear what common properties unite these techniques.

This article seeks to refine the discourse on interpretability. First it examines the objectives of previous papers addressing interpretability, finding them to be diverse and occasionally discordant. Then, it explores model properties and techniques thought to confer interpretability, identifying transparency to humans and post hoc explanations as competing concepts. Throughout, the feasibility and desirability of different notions of interpretability are discussed. The article questions the oft-made assertions that linear models are interpretable and that deep neural networks are not.

http://ow.ly/yjT030l0BGe

Supervised machine-learning models boast remarkable predictive capabilities. But can you trust your model? Will it work in deployment? What else can it tell you about the world? Models should be not only good, but also interpretable, yet the task of interpretation appears underspecified. The academi...

Everything SysadminGitOps: A Path to More Self-service IT(IaC + PR = GitOps)- Thomas A. LimoncelliGitOps lowers the cost...
07/11/2018
GitOps: A Path to More Self-service IT - ACM Queue

Everything Sysadmin

GitOps: A Path to More Self-service IT
(IaC + PR = GitOps)

- Thomas A. Limoncelli

GitOps lowers the cost of creating self-service IT systems, enabling self-service operations where previously they could not be justified. It improves the ability to operate the system safely, permitting regular users to make big changes. Safety improves as more tests are added. Security audits become easier as every change is tracked.

http://ow.ly/Djtf30kUdu4

You've written a new web application and would like it to be added to your organization's web load balancer. The load balancer is complex; its configuration is maintained by highly trained experts on the network operations team. You file a ticket with the team, wait, wait, wait, have a discussion wi...

Mind Your State for Your State of Mind:The interactions between storage and applications can be complex and subtle.- Pat...
07/05/2018
Mind Your State for Your State of Mind - ACM Queue

Mind Your State for Your State of Mind:
The interactions between storage and applications can be complex and subtle.

- Pat Helland

Applications have had an interesting evolution as they have moved into the distributed and scalable world. Similarly, storage and its cousin databases have changed side by side with applications. Many times, the semantics, performance, and failure models of storage and applications do a subtle dance as they change in support of changing business requirements and environmental challenges. Adding scale to the mix has really stirred things up. This article looks at some of these issues and their impact on systems.

http://ow.ly/ud3530kOSth

Applications have had an interesting evolution as they have moved into the distributed and scalable world. Similarly, storage and its cousin databases have changed side by side with applications. Many times, the semantics, performance, and failure models of storage and applications do a subtle dance...

Research for Practice: FPGAs in Data CentersThis installment of Research for Practice features a curated selection from ...
06/07/2018
FPGAs in Data Centers - ACM Queue

Research for Practice: FPGAs in Data Centers

This installment of Research for Practice features a curated selection from Gustavo Alonso, who provides an overview of recent developments utilizing FPGAs (field-programmable gate arrays) in datacenters. As Moore's Law has slowed and the computational overheads of datacenter workloads such as model serving and data processing have continued to rise, FPGAs offer an increasingly attractive point in the trade-off between power and performance. Gustavo's selections highlight early successes and practical deployment considerations that inform the ongoing, high-stakes debate about the future of datacenter- and cloud-based computation substrates. http://ow.ly/VV3u30ko4YN

This installment of Research for Practice features a curated selection from Gustavo Alonso, who provides an overview of recent developments utilizing FPGAs (field-programmable gate arrays) in datacenters. As Moore's Law has slowed and the computational overheads of datacenter workloads such as model...

Workload Frequency Scaling Law — Derivation and Verification - Noor Mubeen Workload scalability has a cascade relation v...
05/29/2018
Workload Frequency Scaling Law - Derivation and Verification - ACM Queue

Workload Frequency Scaling Law — Derivation and Verification

- Noor Mubeen

Workload scalability has a cascade relation via the scale factor.

Many processors expose performance-monitoring counters that help measure 'productive performance' associated with workloads. Productive performance is typically represented by scale factor, a term that refers to the extent of stalls compared with stall-free cycles within a time window. The scale factor of workload is also influenced by clock frequency as selected by frequency-selection governors. Hence, in a dynamic voltage/frequency scaling or DVFS system, the utilization, power, and performance outputs are also functions of the scale factor and its variations. Some governance algorithms do treat the scale factor in ways that are native to their governance philosophy.

This article presents equations that relate to workload utilization scaling at a per-DVFS subsystem level. A relation between frequency, utilization, and scale factor is established. The verification of these equations turns out to be tricky, since inherent to workload, the utilization also varies seemingly in an unspecified manner at the granularity of governance samples. Thus, a novel approach called histogram ridge trace is applied. Quantifying the scaling impact is critical when treating DVFS as a building block. Typical application includes DVFS governors and or other layers that influence utilization, power, and performance of the system. The scope here though, is limited to demonstrating well-quantified and verified scaling equations.

http://ow.ly/eout30keGAK

Many processors expose performance-monitoring counters that help measure 'productive performance' associated with workloads. Productive performance is typically represented by scale factor, a term that refers to the extent of stalls compared with stall-free cycles within a time window. The scale fac...

Escaping the Singularity:Consistently Eventual- Pat HellandIn recent years, there has been a lot of excitement over even...
05/22/2018
Consistently Eventual - ACM Queue

Escaping the Singularity:
Consistently Eventual
- Pat Helland

In recent years, there has been a lot of excitement over eventual consistency. Heck, I get pretty excited about it! Eventual consistency is an aspect of some data that says its underlying value is unknown until work on that item settles down. It turns out that, in many cases, there are data items for which the work never settles down. In addition to being eventually consistent, many data items remain consistently eventual!

http://ow.ly/a6wE30k7Qql

In recent years, there has been a lot of excitement over eventual consistency.6 Heck, I get pretty excited about it! Eventual consistency is an aspect of some data that says its underlying value is unknown until work on that item settles down. It turns out that, in many cases, there are data items f...

Algorithms Behind Modern Storage Systems:Different uses for read-optimized B-trees and write-optimized LSM-trees- Alex P...
05/16/2018
Algorithms Behind Modern Storage Systems - ACM Queue

Algorithms Behind Modern Storage Systems:
Different uses for read-optimized B-trees and write-optimized LSM-trees
- Alex Petrov

The amounts of data processed by applications are constantly growing. With this growth, scaling storage becomes more challenging. Every database system has its own tradeoffs. Understanding them is crucial, as it helps in selecting the right one from so many available choices.

Every application is different in terms of read/write workload balance, consistency requirements, latencies, and access patterns. Familiarizing yourself with database and storage internals facilitates architectural decisions, helps explain why a system behaves a certain way, helps troubleshoot problems when they arise, and fine-tunes the database for your workload.

It's impossible to optimize a system in all directions. In an ideal world there would be data structures guaranteeing the best read and write performance with no storage overhead but, of course, in practice that's not possible.

This article takes a closer look at two storage system design approaches used in a majority of modern databases and describes their use cases and tradeoffs.

http://ow.ly/88Qt30k28la

The amounts of data processed by applications are constantly growing. With this growth, scaling storage becomes more challenging. Every database system has its own tradeoffs. Understanding them is crucial, as it helps in selecting the right one from so many available choices.

Kode Vicious:Every Silver Lining Has a CloudCache is king. And if your cache is cut, you're going to feel it.Clearly, yo...
05/08/2018
Every Silver Lining Has a Cloud - ACM Queue

Kode Vicious:
Every Silver Lining Has a Cloud
Cache is king. And if your cache is cut, you're going to feel it.

Clearly, your management has never heard the phrase, "You get what you pay for." Or perhaps they heard it and didn't realize it applied to them. The savings in cloud computing comes at the expense of a loss of control over your systems, which is summed up best in the popular nerd sticker that says, "The Cloud is Just Other People's Computers."

Some providers now have something called Metal-as-a-Service, which I really think ought to mean that an '80s metal band shows up at your office, plays a gig, smashes the furniture, and urinates on the carpet, but alas, it's just the cloud providers' way of finally admitting that cloud computing isn't really the right answer for all applications. For systems that require deterministic performance guarantees to work well, you really have to think very hard about whether or not a cloud-based system is the right answer, because providing deterministic guarantees requires quite a bit of control over the variables in the environment. Cloud systems are not about giving you control; they're about the owner of the systems having the control.

http://ow.ly/4J7U30jTgTL

My team and I have spent the past eight weeks debugging an application performance problem in a system that we moved to a cloud provider. Now, after a few drinks to celebrate, we thought we would tell you the story and see if you have any words of wisdom.

C Is Not a Low-level Language (and your computer is not a fast PDP-11)- David ChisnallIn the wake of the recent Meltdown...
05/01/2018
C Is Not a Low-level Language - ACM Queue

C Is Not a Low-level Language (and your computer is not a fast PDP-11)

- David Chisnall

In the wake of the recent Meltdown and Spectre vulnerabilities, it's worth spending some time looking at root causes. Both of these vulnerabilities involved processors speculatively executing instructions past some kind of access check and allowing the attacker to observe the results via a side channel. The features that led to these vulnerabilities, along with several others, were added to let C programmers continue to believe they were programming in a low-level language, when this hasn't been the case for decades.

Processor vendors are not alone in this. Those of us working on C/C++ compilers have also participated.

http://ow.ly/XHfB30jM1bL

In the wake of the recent Meltdown and Spectre vulnerabilities, it's worth spending some time looking at root causes. Both of these vulnerabilities involved processors speculatively executing instructions past some kind of access check and allowing the attacker to observe the results via a side chan...

Research for PracticePrediction-Serving SystemsWhat happens when we wish to actually deploy a machine learning model to ...
04/26/2018
Prediction-Serving Systems - ACM Queue

Research for Practice

Prediction-Serving Systems

What happens when we wish to actually deploy a machine learning model to production?

Dan Crankshaw and Joseph Gonzalez

This installment of Research for Practice features a curated selection from Dan Crankshaw and Joey Gonzalez, who provide an overview of machine learning serving systems. What happens when we wish to actually deploy a machine learning model to production, and how do we serve predictions with high accuracy and high computational efficiency? Dan and Joey's selection provides a thoughtful selection of cutting-edge techniques spanning database-level integration, video processing, and prediction middleware. Given the explosion of interest in machine learning and its increasing impact on seemingly every application vertical, it's possible that systems such as these will become as commonplace as relational databases are today.

http://ow.ly/5jZY30jGXiw

This installment of Research for Practice features a curated selection from Dan Crankshaw and Joey Gonzalez, who provide an overview of machine learning serving systems. What happens when we wish to actually deploy a machine learning model to production, and how do we serve predictions with high acc...

Kode ViciousWatchdogs vs. SnowflakesTaking wild-ass guessesThat a system can randomly jam doesn't just indicate a seriou...
04/11/2018
Watchdogs vs. Snowflakes - ACM Queue

Kode Vicious
Watchdogs vs. Snowflakes
Taking wild-ass guesses

That a system can randomly jam doesn't just indicate a serious bug in the system; it is also a major source of risk. You don't say what your distributed job-control system controls, but let's just say I hope it's not something with significant, real-world side effects, like a power station, jet aircraft, or financial trading system. The risk, of course, is that the system will jam, not when it's convenient for someone to add a dummy job to clear the jam, but during some operation that could cause data loss or return incorrect results. I rather suspect that having a system like this jam while coordinating, for example, the balancing of electrical power across a power grid would have spectacular and perhaps fatal results.

http://ow.ly/GwZr30jrrEg

I've been working with a distributed, job-control system for a large computing cluster for the past year. The system was developed in-house by one of the co-founders of the company, and he continues to work on it sporadically, while a small team of us adds new features and tries to fix bugs. The cod...

04/05/2018

Thou Shalt Not Depend on Me:
A look at JavaScript libraries in the wild

-Tobias Lauinger, Abdelberi Chaabane, and Christo B. Wilson

Many websites use third-party components such as JavaScript libraries, which bundle useful functionality so that developers can avoid reinventing the wheel. jQuery (https://jquery.com/) is arguably the most popular open-source JavaScript library at the moment—found on 84 percent of the most popular websites as determined by Amazon's Alexa (https://www.alexa.com/topsites). But what happens when libraries have security issues? Chances are that websites using such libraries inherit these issues and become vulnerable to attacks.
Given the risk of using a library with known vulnerabilities, it is important to know how often this happens in practice and, more importantly, who is to blame for the inclusion of vulnerable libraries—the developer of the website, or maybe a third-party advertisement or tracker code loaded on the website?
We set out to answer these questions and found that with 37 percent of websites using at least one known vulnerable library, and libraries often being included in quite unexpected ways, there clearly is room for improvement in library handling on the web. To that end, this article makes a few recommendations about what can be done to improve the situation.

http://ow.ly/dNZo30jkLQp

Address

2 Penn Plz
New York, NY
10001

Alerts

Be the first to know and let us send you an email when ACM Queue posts news and promotions. Your email address will not be used for any other purpose, and you can unsubscribe at any time.

Contact The Business

Send a message to ACM Queue:

Nearby media companies