我在Erlang Resources 豆瓣小站上发起了一个征集活动 [链接] ,"[征集] 我们读过的Erlang论文",希望大家来参加.发起这样一个活动的目的是因为Erlang相关的出版物很少,很多时候都是从学术论文中寻找答案,而发现合适的论文是第一步,这个活动就是为了解决这个问题.

在一个极小的知识点可能都会有一篇精彩的论文为你条分缕析,抽丝剥茧,甚至可以拼凑起来一个完整的Erlang知识系统,我们开始吧...

《面向软件错误构建可靠的分布式系统》

Making reliable distributed systems in the presence of sodware errors

地址:  http://pubftp0.availo.se/pub/FreeBSD/distfiles/erlang-doc/r13b01/armstrong_thesis_2003.pdf

译文地址: http://man.lupaworld.com/content/other/erlang.pdf

备注: 没有什么可说的,这篇论文几乎是Erlang入门必读,甚至在论文里面已经可以完成Erlang基础知识的学习;

Concurrent Programming in ERLANG

地址: http://www.erlang.org/download/erlang-book-part1.pdf

备注: 教科书

Characterizing the Scalability of Erlang VM on Many-core Processors

地址: http://kth.diva-portal.org/smash/get/diva2:392243/FULLTEXT01

备注: 估计是了解Erlang VM必读的一篇论文,在众多涉及Erlang VM实现的博客,论文里面到处可以看到这篇论文的身影;

摘要: This section will introduce the reader to Erlang and briefly describe the Erlang compiler and virtual machine in order to give the reader some basic understanding of Erlang.

Exploring Alternative Memory Architectures for Erlang:Implementation and Performance Evaluation

地址: http://www.fantasi.se/publications/Wilhelmsson_MSc.pdf

备注: 文章介绍了Erlang VM垃圾回收和内存管理

Efficient memory management for concurrent programs that use message passing I,II

地址: http://user.it.uu.se/~kostis/Papers/scp_mm.pdf

备注: Erlang VM 内存管理 GC

Heap Architectures for Concurrent Languages using Message Passing
地址: http://www.fantasi.se/publications/ISMM02.pdf

摘要:We discuss alternative heap architectures for languages that rely on automatic memory management and implement con-
currency through asynchronous message passing. We describe how interprocess communication and garbage collec-
tion happens in each architecture, and extensively discuss the tradeoffs that are involved. In an implementation set-
ting (the Erlang/OTP system) where the rest of the runtime system is unchanged, we present a detailed experimental
comparison between these architectures using both synthetic programs and large commercial products as benchmarks.
备注: 一句话总结这篇论文就是:当消息传递的时候本质上发生了什么

 

 

On Preserving Term Sharing in the Erlang Virtual Machine

地址: http://user.it.uu.se/~kostis/Papers/erlang12_sharing.pdf

摘要:In this paper we describe our experiences and argue through examples why flattening terms during copying is not a good idea for

a language like Erlang. More importantly, we propose a sharing preserving copying mechanism for Erlang/OTP and describe a pub-

licly available complete implementation of this mechanism.

Bit-level Binaries and Generalized Comprehensions in Erlang
地址: http://user.it.uu.se/~pergu/papers/erlang05.pdf

备注: To further simplify programming on bit streams we then show how binary comprehensions can be introduced in the language and how binary and list comprehensions can be extended to allow both binary and list generators.

备注: 简单描述Core Erlang 和Erlang的关系,发展历史 从Erlang代码到Core Erlang代码中间经历的分析和转换过程中是怎样被大大简化的.

 
 
Programming Efficiently with Binaries and Bit Strings
摘要: This paper will describe the new additions to the language and show how they can be used efficiently given the new optimizations

of binary pattern matching and binary construction. It also includes some performance numbers to give an idea of the gains that can be
made with the new optimizations.

备注:Erlang Efficiency Guide告诉你How,这篇论文告诉你Why
 
Programming Distributed Erlang Applications:Pitfalls and Recipes

编写分布式的 Erlang 程序:陷阱和对策
备注:   基本消息传递保障-流语义 跨节点编程陷阱 Pid重复 消息顺序
 
Parameterized modules in Erlang
备注: 这个已经成为传说,在最新版Erlang中需要通过插件项目使用此特性
 
Design Patterns for Simulations in Erlang/OTP
备注: 不感兴趣的部分就大段大段的跳过吧,这篇论文讲到了 The implemented behaviours
 
 
Extended Process Registry for Erlang 
备注: gproc: Extended Process Registry 这个应该有不少人在实践了
 
 
Troubleshooting a Large Erlang System
备注: 串讲了OTP排错工具集如何使用 
 
Static Detection of Race Conditions in Erlang
摘要: We address the problem of detecting some commonly occurring kinds of race conditions in Erlang programs using static analy-

sis.

Erlang’s Exception Handling Revisited

地址: http://www.erlang.se/workshop/2004/exception.pdf

摘要:  We give a comprehensive description of the behaviour of exceptions in modern-day Erlang , present a theoretical model of the
semantics of exceptions, and use this to derive the new try-construct.

 
 
Cleaning up Erlang Code is a Dirty Job but Somebody’s Gotta Do It
备注: 看这篇论文我们都不一定要用这个代码自动优化工具,更有价值的是问How & Why
 
 Build Your Next Web Application with Erlang
备注: 有O'记那本小册子,这篇论文不读也罢
 
 
A Study of Erlang ETS Table Implementations and Performance
摘要: The viability of implementing an in-memory database, Erlang ETS, using a relatively-new data structure, called a Judy array, was studied by comparing the performance of ETS tables based on four data structures: AVL balanced binary trees, B-trees, resizable linear hash tables, and Judy arrays. 
 
 
A Stream Library using Erlang Binaries
摘要: This paper introduces the memory and behavior characteristics of lists, tuples and binaries in erlang, then continues with a de-

scription of the Bit syntax and standard methods of using binaries to deal with streamed data. Next it introduces BIF functions that
are shown to be much faster than using the traditional Bit syntax to manipulate binary data.

A Scalability Benchmark Suite for Erlang/OTP

地址: http://www.softlab.ntua.gr/~gtsiour/files/erlang01-aronis.pdf

摘要: This paper presents the main aspects of the design and the current status of bencherl, a publicly available scalability benchmark

suite for applications written in Erlang.

All you wanted to know about the HiPE compiler (but might have been afraid to ask)

地址: http://user.it.uu.se/~pergu/papers/erlang03.pdf

备注:几乎解答了HIPE的所有常见问题

No more need for records

地址: http://www.cs.otago.ac.nz/staffpriv/ok/frames.pdf

备注:Maps结构的缘起 设计上的取舍部分很有意思

未完成,待续

[Erlang 0126] 我们读过的Erlang论文的更多相关文章

  1. [Erlang 0120] Know a little Core Erlang

      Erlang开发者或多或少都用过或者听说过Core erlang,它是什么样的呢?新建一个测试模块a.erl,如下操作会生成core erlang代码而非a.beam:   Eshell V6.0 ...

  2. [Erlang 0115] 2014值得期待的Erlang两本新书

    在2014年的开头就有这样一个令人振奋的好消息,Erlang有一本新书即将出版 <The Erlang Runtime System>,其作者happi在2013年3月份公布了这本书的写作 ...

  3. [Erlang 0004] Centos 源代码编译 安装 Erlang

    原文地址: http://www.cnblogs.com/me-sa/archive/2011/07/09/erlang0004.html 由于最终部署的生产环境是Centos,所以我需要在Cento ...

  4. 从单幅图像高质量去除运动模糊——读JiaYaJia同名英文论文总结

    原始论文在这里 http://www.cse.cuhk.edu.hk/leojia/projects/motion_deblurring/ 一.概述 论文根据以下的基本模糊图像模型建立 其中I是我们观 ...

  5. 机器学习系列(8)_读《Nature》论文,看AlphaGo养成

    作者:viewmode=contents">龙心尘 && viewmode=contents">寒小阳 时间:2016年3月. 出处:http://bl ...

  6. [Erlang 0127] Term sharing in Erlang/OTP 上篇

    之前,在 [Erlang 0126] 我们读过的Erlang论文 提到过下面这篇论文: On Preserving Term Sharing in the Erlang Virtual Machine ...

  7. [Erlang 0105] Erlang Resources 小站 2013年1月~6月资讯合集

    很多事情要做,一件一件来; Erlang Resources 小站 2013年1月~6月资讯合集,方便检索.      小站地址: http://site.douban.com/204209/     ...

  8. Erlang运行时中的无锁队列及其在异步线程中的应用

    本文首先介绍 Erlang 运行时中需要使用无锁队列的场合,然后介绍无锁队列的基本原理及会遇到的问题,接下来介绍 Erlang 运行时中如何通过“线程进度”机制解决无锁队列的问题,并介绍 Erlang ...

  9. [Erlang 0129] Erlang 杂记 VI

    把之前阅读资料的时候记下的东西,整理了一下. Adding special-purpose processor support to the Erlang VM   P23 简单介绍了Erlang C ...

随机推荐

  1. Atitit smb网络邻居原理与实现查询列表

    Atitit smb网络邻居原理与实现查询列表 1.1. SAMBA的起源1 1.2. Smb是否依赖unpn SSDP  ,还是使用扫描遍历0-255发现原理1 2. SMB共享不成功原因分享(WI ...

  2. JavaScript权威设计--Window对象(简要学习笔记十三)

    1.Window对象是所有客户端JavaScript特性和API的主要接入点. Window对象中的一个重要属性是document,它引用Document对象. JavaScript程序可以通过Doc ...

  3. Android自定义View初步

    经过上一篇的介绍,大家对于自定义View一定有了一定的认识,接下来我们就以实现一个图片下显示文字的自定义View来练习一下.废话不多说,下面进入我们的正题,首先看一下我们的思路,1.我们需要通过在va ...

  4. ASP.NET MVC5+EF6+EasyUI 后台管理系统(29)-T4模版

    系列目录 本节不再适合本系统,在58,59节已经重构.请超过本节 这讲适合所有的MVC程序 很荣幸,我们的系统有了体验的地址了.演示地址 之前我们发布了一个简单的代码生成器,其原理就是读取数据库的表结 ...

  5. Java资源大全中文版(Awesome最新版)

    Awesome系列的Java资源整理.awesome-java 就是akullpp发起维护的Java资源列表,内容包括:构建工具.数据库.框架.模板.安全.代码分析.日志.第三方库.书籍.Java 站 ...

  6. 计算机程序的思维逻辑 (48) - 剖析ArrayDeque

    前面我们介绍了队列Queue的两个实现类LinkedList和PriorityQueue,LinkedList还实现了双端队列接口Deque,Java容器类中还有一个双端队列的实现类ArrayDequ ...

  7. 【Oracle 集群】Oracle 11G RAC教程之集群安装(七)

    Oracle 11G RAC集群安装(七) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总. ...

  8. 【Big Data】HADOOP集群的配置(二)

    Hadoop集群的配置(二) 摘要: hadoop集群配置系列文档,是笔者在实验室真机环境实验后整理而得.以便随后工作所需,做以知识整理,另则与博客园朋友分享实验成果,因为笔者在学习初期,也遇到不少问 ...

  9. 项目积累(三)CSS

    公司不是专门做网站的,偶尔会接到客户让修改前端,有时候和让头疼,自己浏览器兼容问题处理不好. 慢慢积累吧. 先贴出来一些前端代码吧,如下: <div class="test" ...

  10. 生成随机id对比

    生成随机id 最近公司的项目游戏生成的随机不重复id,重复概率有点大, 代码如下: private static int id = 0; public static int serverID = 0; ...