标签: distributed-computing

什么是数据序列化系统?

根据Apache AVRO项目,"Avro是一个序列化系统".通过说数据序列化系统,是否意味着avro是产品或api?

另外,我不确定数据序列化系统是什么?现在,我的理解是它是一个定义数据对象如何通过网络传递的协议.任何人都可以帮助以直观的方式解释它,以便分析计算背景有限的人更容易理解吗?

提前致谢!

hadoop distributed-computing data-serialization

17
推荐指数
1
解决办法
1万
查看次数

Rust是否适合Erlang风格的分布式软件?

我非常喜欢Golang,可以轻松地编写并发软件,以便在一台机器上使用更多的CPU内核.我有点担心得知Go并不是真正的分布式(如多节点并发)语言 - 甚至Rob Pike也承认(在GopherCon 2014上)它从一开始就不是为分布式计算而设计的,尽管有尝试帮助的GoCircuit等软件包.

因此,我最近对Erlang和Elixir感兴趣,因为经过实战的Erlang VM已被用于跨节点分发应用程序数十年.

但后来我了解到Rust从Erlang(消息传递,模式匹配)中获取大部分并发功能,同时仍然是静态类型和编译语言(因此可能更快),我想知道Rust是否可能是一个不错的选择(除此之外) Erlang/Elixir)用于编写分布式多节点软件?

以下是一些针对所寻求信息的具体问题:

  • Rust如何处理部分故障的稳健性(类似于Erlang的"让它崩溃"的理念,通过进程隔离)?
  • Rust是否在标准库或生产就绪包中提供易于使用的远程通道,消息传递或其他东西,以协助机器之间的通信?
  • Erlang/Exlixir的哪些功能可能适用于分布式软件,但在Rust中不可用?

distributed programming-languages distributed-computing rust

17
推荐指数
0
解决办法
3886
查看次数

我什么时候使用像Paxos这样的共识算法vs使用类似矢量时钟的东西?

我一直在阅读很多关于保证分布式系统中节点之间一致性的不同策略,但是我在确定何时使用哪种算法时遇到了一些麻烦.

使用什么样的系统我会使用像矢量时钟这样的东西?哪个系统适合使用像Paxos这样的东西?两者是相互排斥的吗?

theory distributed distributed-computing

17
推荐指数
1
解决办法
1426
查看次数

深度学习的并行化策略

哪些策略和形式的并行化是可行且可用于训练服务神经网络的?:

  • 机器内部内核(例如 GPU / TPU / CPU)
  • 网络或机架上的机器

我也在寻找有关它们如何用于 TensorFlow、PyTorch 或 MXNet 等的证据。

训练

据我所知,在大型数据集上训练大型神经网络时,至少可以有:

  1. 不同的内核 机器对图的不同部分进行操作(“拆分”)。例如,通过图本身的反向传播可以并行化,例如通过在不同的机器上托管不同的层,因为(我认为?)autodiff 图始终是DAG
  2. 不同的内核 机器不同的数据样本进行操作(“数据拆分”)。在 SGD 中,跨批次或样本的梯度计算也可以并行化(例如,可以在不同批次上独立计算梯度后组合梯度)。我相信这也称为梯度累积(?)。

什么时候每种策略更适合哪种类型的问题或神经网络?现代图书馆支持哪些模式?并且可以结合所有四种(2x2)策略吗?

最重要的是,我已经阅读了:

  • 异步训练
  • 同步训练

但我不知道到底是什么,指的,例如:Is it的计算梯度不同批次的数据或计算梯度不同的子图?或者它可能完全指的是其他东西?

服务

如果网络很大,预测/推理也可能很慢,并且模型在服务时可能不适合内存中的单个机器。是否有任何已知的多核和多节点预测解决方案可以处理此类模型?

distributed-computing deep-learning tensorflow mxnet pytorch

17
推荐指数
2
解决办法
2141
查看次数

什么是兵马俑?

  • 什么是兵马俑?
  • 它提供什么服务?
  • 它解决了什么问题?
  • 还有哪些产品可以解决类似于Terracotta解决的问题?

java terracotta distributed-computing

16
推荐指数
2
解决办法
2万
查看次数

在Hadoop中搜索/查找文件和文件内容

我目前正在使用Hadoop DFS开展项目.

  1. 我注意到Hadoop Shell中没有搜索或查找命令.有没有办法在Hadoop DFS中搜索和查找文件(例如testfile.doc)?

  2. Hadoop是否支持文件内容搜索?如果是这样,怎么办?例如,我有许多存储在HDFS中的Word Doc文件,我想列出哪些文件中包含"计算机科学"字样.

在其他分布式文件系统中呢?文件内容搜索是分布式文件系统的软肋吗?

filesystems distributed hadoop file distributed-computing

16
推荐指数
1
解决办法
5万
查看次数

Spark Java错误:大小超过Integer.MAX_VALUE

我正在尝试使用spark进行一些简单的机器学习任务.我使用pyspark和spark 1.2.0来做一个简单的逻辑回归问题.我有120万条培训记录,我记录了记录的功能.当我将散列函数的数量设置为1024时,程序运行正常,但是当我将散列函数的数量设置为16384时,程序会多次失败并出现以下错误:

Py4JJavaError: An error occurred while calling o84.trainLogisticRegressionModelWithSGD.
: org.apache.spark.SparkException: Job aborted due to stage failure: Task 1 in stage 4.0 failed 4 times, most recent failure: Lost task 1.3 in stage 4.0 (TID 9, workernode0.sparkexperience4a7.d5.internal.cloudapp.net): java.lang.RuntimeException: java.lang.IllegalArgumentException: Size exceeds Integer.MAX_VALUE
    at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:828)
    at org.apache.spark.storage.DiskStore.getBytes(DiskStore.scala:123)
    at org.apache.spark.storage.DiskStore.getBytes(DiskStore.scala:132)
    at org.apache.spark.storage.BlockManager.doGetLocal(BlockManager.scala:517)
    at org.apache.spark.storage.BlockManager.getBlockData(BlockManager.scala:307)
    at org.apache.spark.network.netty.NettyBlockRpcServer$$anonfun$2.apply(NettyBlockRpcServer.scala:57)
    at org.apache.spark.network.netty.NettyBlockRpcServer$$anonfun$2.apply(NettyBlockRpcServer.scala:57)
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
    at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
    at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:108)
    at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
    at scala.collection.mutable.ArrayOps$ofRef.map(ArrayOps.scala:108)
    at org.apache.spark.network.netty.NettyBlockRpcServer.receive(NettyBlockRpcServer.scala:57)
    at org.apache.spark.network.server.TransportRequestHandler.processRpcRequest(TransportRequestHandler.java:124)
    at org.apache.spark.network.server.TransportRequestHandler.handle(TransportRequestHandler.java:97)
    at org.apache.spark.network.server.TransportChannelHandler.channelRead0(TransportChannelHandler.java:91)
    at org.apache.spark.network.server.TransportChannelHandler.channelRead0(TransportChannelHandler.java:44)
    at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) …
Run Code Online (Sandbox Code Playgroud)

python java distributed-computing logistic-regression apache-spark

16
推荐指数
2
解决办法
1万
查看次数

使用MPI分散不同大小的矩阵块

(假设所有矩阵都按行主顺序存储.)说明问题的一个例子是在3x3网格上分布10x10矩阵,以便每个节点中子矩阵的大小看起来像

|-----+-----+-----|
| 3x3 | 3x3 | 3x4 |
|-----+-----+-----|
| 3x3 | 3x3 | 3x4 |
|-----+-----+-----|
| 4x3 | 4x3 | 4x4 |
|-----+-----+-----|
Run Code Online (Sandbox Code Playgroud)

我在Stackoverflow上看过很多帖子(例如使用MPIMPI分区矩阵将C块中的2D数组块发送到块中).但它们只处理相同大小的块(在这种情况下,我们可以简单地使用 MPI_Type_vectorMPI_Type_create_subarray只有一个MPI_Scatterv调用).

所以,我想知道在MPI中将矩阵分散到处理器网格中的最有效方法是什么,其中每个处理器都有一个具有指定大小的块.

PS我也看了MPI_Type_create_darray,但似乎没有让你为每个处理器指定块大小.

c parallel-processing message-passing distributed-computing mpi

16
推荐指数
1
解决办法
4562
查看次数

什么是分布式系统中的CRDT?

我是分布式系统的新手,我正在尝试深入了解CRDT的概念.我意识到它有三个符号:

Conflict-free Replicated Data Type
Convergent Replicated Data Type
Commutative Replicated Data Type
Run Code Online (Sandbox Code Playgroud)

任何人都可以举例说明我们在分布式系统中使用CRDT吗?非常感谢提前.

distributed-computing distributed-system crdt

15
推荐指数
2
解决办法
5203
查看次数

为什么ESB在微服务架构中被认为是坏的

在微服务架构中,自治业务服务应该直接相互通信.通信可以是同步(编排)或基于事件(编排).API网关可以聚合客户端的API(前端的后端).通过微服务,我们正在寻求两个最终目标

  • 低耦合
  • 高凝聚力

这为更高复杂性的价格提供了持续部署,细粒度扩展,快速技术适应,可重用性,可审计性等等.

但是,强烈建议不要使用ESB(企业服务总线)或其他中间件.微服务和ESB通常被视为竞争对手的解决方案.为什么ESB看起来如此糟糕?只要它仅用作具有一些额外监视和认证层(没有业务逻辑)的冥想通道,在微服务架构中使用它有什么问题?

architecture soa esb distributed-computing microservices

15
推荐指数
1
解决办法
6778
查看次数