[Erlang 0126] 我们读过的Erlang论文

我在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实现的博客,论文里面到处可以看到这篇论文的身影;

Exploring Alternative Memory Architectures for Erlang:Implementation and Performance Evaluation

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

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

Ef?cient 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 tradeo?s 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 ?attening 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.

An introduction to Core Erlang
地址: http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=1C8691982F56D28905DAC4D731A386C7?doi=10.1.1.20.7146&rep=rep1&type=pdf

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

Programming Ef?ciently with Binaries and Bit Strings

地址: http://www.erlang.org/euc/07/papers/1700Gustafsson.pdf

摘要: This paper will describe the new additions to the language and show how they can be used ef?ciently 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 程序:陷阱和对策

地址: http://man.lupaworld.com/content/develop/p37-svensson.pdf

译文地址:  http://www.kaiyuanba.cn/content/develop/p37-svensson-cn.pdf

备注:   基本消息传递保障-流语义 跨节点编程陷阱 Pid重复 消息顺序

Parameterized modules in Erlang

地址: http://ftp.se.postgresql.org/pub/lang/erlang/workshop/2003/paper/p29-carlsson.pdf

备注: 这个已经成为传说,在最新版Erlang中需要通过插件项目使用此特性

Design Patterns for Simulations in Erlang/OTP

地址: http://ftp.nsysu.edu.tw/FreeBSD/ports/local-distfiles/olgeni/master_thesis_patterns.pdf

备注: 不感兴趣的部分就大段大段的跳过吧,这篇论文讲到了 The implemented behaviours

Extended Process Registry for Erlang

地址: http://svn.ulf.wiger.net/gproc/doc/erlang07-wiger.pdf

地址: http://www.erlang.se/workshop/2007/proceedings/02wiger.pdf

备注: gproc: Extended Process Registry 这个应该有不少人在实践了

 

Troubleshooting a Large Erlang System

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

备注: 串讲了OTP排错工具集如何使用

Static Detection of Race Conditions in Erlang

地址: http://www.it.uu.se/research/group/hipe/dialyzer/publications/races.pdf

摘要: 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

地址: http://users.ece.cmu.edu/~aavgerin/papers/Erlang09.pdf

备注: 看这篇论文我们都不一定要用这个代码自动优化工具,更有价值的是问How & Why

 Build Your Next Web Application with Erlang

地址: http://www.kth.se/polopoly_fs/1.162674!/Menu/general/column-content/attachment/ieee.pdf

备注: 有O‘记那本小册子,这篇论文不读也罢

A Study of Erlang ETS Table Implementations and Performance

地址: http://www.erlang.org/workshop/2003/paper/p43-fritchie.pdf

摘要: 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

地址: http://www.duomark.com/erlang/publications/acm2005.pdf

摘要: 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结构的缘起 设计上的取舍部分很有意思

未完成,待续

时间: 2024-10-13 05:04:11

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

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

原文地址: http://www.cnblogs.com/me-sa/archive/2011/07/09/erlang0004.html 由于最终部署的生产环境是Centos,所以我需要在Centos中安装Erlang B13R04 ,第一次做这件事情破费周折,主要是对Erlang依赖的库不熟悉,总是编译不过:这里梳理一下安装过程中的细节:   Erlang依赖哪些库? A fully working GCC compiler environment Ncurses development l

建议程序员都读一读的31篇论文系列笔记(1~2)

序:前几日网上偶尔看到"程序员必读论文系列",顺便搜了一下,发现有多个版本共31篇,不过看起来都不错,故准备花时间都读一下,可以拓宽下视野.来源论文题目主要参考 http://blog.csdn.net/turingbook/article/details/3946421 和 http://top.jobbole.com/17733/ .每读完一篇论文就写些笔记,或长或短,也就是这几篇文章的由来. 1. An Axiomatic Basis for Computer Programmi

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

作者: 龙心尘 && 寒小阳 时间:2016年3月. 出处:http://blog.csdn.net/longxinchen_ml/article/details/50900070 http://blog.csdn.net/han_xiaoyang/article/details/50903562 声明:版权所有,转载请联系作者并注明出处 1.文章声明 博主是围棋小白,下棋规则都记不清楚,也没有设计过棋类AI程序.这篇文章主要是阅读<Nature>论文及关于AlphaGo的相关

Erlang / OTP并发编程实战 Erlang程序设计.第2版 PDF分享

图灵官方图书: 完整PDF.文字版.非扫描版,字迹清晰,目录完整.体积小.无任何广告. 获取资源 原文地址:https://www.cnblogs.com/nexts/p/11701009.html

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

之前,在 [Erlang 0126] 我们读过的Erlang论文 提到过下面这篇论文: 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 ?attening t

Erlang 设计原则 process port io

Erlang原理 (转载自ITEYE cryolite博客 ps:精彩)by Robert Virding This is a description of some of the basic properties and features of Erlang and an attempt to describe the rationale behind them. Erlang grew as we better understood the original problem we were

Erlang ETS Table

不需要显示用锁,插入和查询时间不仅快而且控制为常量,这就是Erlang的ETS Table. 为什么而设计? Erlang中可以用List表达集合数据,但是如果数据量特别大的话在List中访问元素就会变慢了;这种主要是由于List的绝大部分操作都是基于遍历完成的. Erlang的设计目标是软实时(参考:http://en.wikipedia.org/wiki/Real-time_computing),在大量数据中检索的时间不仅要快而且要求是常量.为了解决快速查 询的问题,Erlang提供的机制就

Erlang process structure -- refc binary

Erlang 的process 是虚拟机层面的进程,每个Erlang process 都包括一个 pcb(process control block), 一个stack 以及私有heap . 这部分的姿势, 在各种论文中都有提到. 网上也有各种各样的解读,包括但不仅限于: 1, http://fengchj.com/?p=2255 2, http://blog.csdn.net/mycwq/article/details/26613275 那么, 从现有的资料,可以看出,正因为在Erlang 虚

接入Erlang控制台的几种方法

在window中调试的时候我们可以通过启动多个cmd窗口运行Erlang节点,在生产环境中我们需要Erlang服务在Centos服务器上后台运行;这就需要在启动的时候添加启动参数detached来脱离终端:      -detached Starts the Erlang runtime system detached from the system console. Useful for running daemons and backgrounds processes. Implies -n