我有一个 MAKE 编译过程,需要大约 1 小时才能完成。我使用了 -j 命令并能够将其减少到 40 分钟。我观察到的是 CPU 利用率很高,我的导师建议我将作业分配到我们组织可用的不同服务器或机器上。我读过 distcc 但它只能用于 c 代码,我们有 c 和 java 代码的混合。请建议我寻找合适的工具,这是最容易安装和部署的工具,因为我是唯一一个从事该项目的人。
规格 - 平台 - solaris-sparc 和 x86 也是
谢谢安吉特
我想知道 TensorFlow 的放置算法(如白皮书中所述)何时实际使用。到目前为止,我看到的所有用于分发 TensorFlow 的示例似乎都使用“tf.device()”手动指定节点应该在何处执行。
我正在尝试编写代码,该代码将从一组命名my_file_*.csv为 Dask 数据帧的 CSV 中读取。
然后我想根据 CSV 的长度设置分区。我试图在每个分区上映射一个函数,为了做到这一点,每个分区必须是整个 CSV。
我尝试重置索引,然后根据每个 CSV 的长度设置分区,但看起来 Dask 数据帧的索引不是唯一的。
有没有更好的方法根据每个 CSV 的长度进行分区?
我正在使用 dask/distributed 向多节点集群提交 100 多个函数的评估。每个 eval 都非常昂贵,大约需要 90 秒的 CPU 时间。我注意到虽然我正在评估的功能并不纯,但似乎存在内存泄漏并且所有工作人员随着时间的推移都在增长。以下是重现此行为的示例代码:
import numpy as np
from dask.distributed import Client
class Foo:
def __init__(self):
self.a = np.random.rand(2000, 2000) # dummy data, not really used
@staticmethod
def myfun1(k):
return np.random.rand(10000 + k, 100)
def myfun2(self, k):
return np.random.rand(10000 + k, 100)
client = Client('XXX-YYY:8786')
f = Foo()
tasks = client.map(f.myfun2, range(100), pure=False)
results = client.gather(tasks)
tasks = []
Run Code Online (Sandbox Code Playgroud)
如果调用 client.map() 来执行 f.myfun1()(这只是一个静态方法),worker 的大小不会增长。但是,如果调用 f.myfun2() ,则在上面仅调用一次 client.map() 之后,worker 的大小就会显着增加(例如 50mb -> 400mb)。client.close() 也不会减少工作人员的大小。 …
http://docs.aws.amazon.com/AmazonS3/latest/dev/crr-status.html提到:
对象复制状态的以下值之一的复制状态标头:PENDING、COMPLETED 或 FAILED。
FAILED 可能发生的情况有哪些?
http://docs.aws.amazon.com/AmazonS3/latest/dev/crr-troubleshoot.html列出了一堆案例。除了这些情况之外,当其他区域关闭时,状态可能会失败的唯一其他情况是什么?
更新:https : //docs.aws.amazon.com/AmazonS3/latest/dev/replication-and-other-bucket-configs.html
在非 gui 模式下使用 Jmeter 3.3 进行分布式测试期间,我收到错误,我该如何解决这个问题:
我在 Master 和 Slave 机器上使用相同版本的 JMeter 和 JDK。
JVM 应该已经退出但没有退出。以下非守护进程线程仍在运行(DestroyJavaVM 是可以的): Thread[main,5,main],
stackTrace:java.net.SocketInputStream#socketRead0
java.net.SocketInputStream#socketRead
java.net.SocketInputStream#read
java.net.SocketInputStream#read
java.io.BufferedInputStream#fill
java.io.BufferedInputStream#read
java.io.DataInputStream#readByte
sun.rmi.transport.StreamRemoteCall#executeCall
sun.rmi.server.UnicastRef#invoke
java.rmi.server.RemoteObjectInvocationHandler#invokeRemoteMethod
java.rmi.server.RemoteObjectInvocationHandler#invoke
com.sun.proxy.$Proxy19#rrunTest
org.apache.jmeter.engine.ClientJMeterEngine#runTest at line:149
org.apache.jmeter.engine.DistributedRunner#start at line:132
org.apache.jmeter.engine.DistributedRunner#start at line:149
org.apache.jmeter.JMeter#runNonGui at line:1005
org.apache.jmeter.JMeter#startNonGui at line:910
org.apache.jmeter.JMeter#start at line:538
sun.reflect.NativeMethodAccessorImpl#invoke0
sun.reflect.NativeMethodAccessorImpl#invoke
sun.reflect.DelegatingMethodAccessorImpl#invoke
java.lang.reflect.Method#invoke
org.apache.jmeter.NewDriver#main at line:248
Run Code Online (Sandbox Code Playgroud) 最近,我尝试学习如何在多个GPU上使用Tensorflow来加快训练速度。我找到了有关基于Cifar10数据集的训练分类模型的官方教程。但是,我发现本教程使用队列读取图像。出于好奇,我如何通过向Session输入价值来使用多个GPU?似乎很难解决将同一数据集的不同值提供给不同GPU的问题。谢谢大家!以下代码是官方教程的一部分。
images, labels = cifar10.distorted_inputs()
batch_queue = tf.contrib.slim.prefetch_queue.prefetch_queue(
[images, labels], capacity=2 * FLAGS.num_gpus)
# Calculate the gradients for each model tower.
tower_grads = []
with tf.variable_scope(tf.get_variable_scope()):
for i in xrange(FLAGS.num_gpus):
with tf.device('/gpu:%d' % i):
with tf.name_scope('%s_%d' % (cifar10.TOWER_NAME, i)) as scope:
# Dequeues one batch for the GPU
image_batch, label_batch = batch_queue.dequeue()
# Calculate the loss for one tower of the CIFAR model. This function
# constructs the entire CIFAR model but shares the variables across
# all towers.
loss …Run Code Online (Sandbox Code Playgroud) 我正在寻找一个管理任务分发(例如任务队列)的 python 库/框架。然而,任务需要专门的工人:工人 A 只能处理类型的任务a,工人 B 和 C 只能处理类型b等。此外,这些工人将在不同的计算机上运行并且不能共享相同的代码库(因为,就像在制造线上,每个任务都绑定到控制特定的硬件,只有一台计算机可以访问)。
我看过像 python RQ这样的库或 Celery,但如果我理解正确的话,它们需要相同的代码库才能在不同的工作人员上运行,并且用于分布式计算。我正在寻找的基本上只是抽象任务队列的管理和工作人员可以通过网络获取任务的机制。一项任务基本上只是一些关于它的进度、错误、结果等的数据和元信息。如果任务也可以相互依赖,那么一项任务可以依赖另一项任务的结果,这是一个奖励。
是否有一个简单的库,负责管理队列、网络协议等,提供我正在寻找的内容?
distributed ×10
python ×4
dask ×2
tensorflow ×2
algorithm ×1
amazon-s3 ×1
csv ×1
hpc ×1
jmeter ×1
jvm ×1
load-testing ×1
locking ×1
makefile ×1
performance ×1
placement ×1
profiling ×1
replication ×1
service ×1
task-queue ×1