Simpy, birden çok düğüm arasında optimize edilmiş dinamik kaynak dağıtımını destekliyor mu?

0

Soru

2 Düğüm 0 ve 1'im var ve toplamda 0 ve 1 düğümlerinde sunucu olacak 12 kaynak var. Simpy'de düğüm 0 ve 1 arasındaki 12 kaynağı zamanlamak için bir yöntem var mı, böylece düğüm 0 ve ardından düğüm 1 aracılığıyla bir öğenin ortalama toplam işlem süresi en aza indirilir. Zaman zaman kaynaklar hizmet vermek için bir düğümden diğerine geçebilir. Ekli, düğüm 0'daki 5 kaynağın ve düğüm 1'deki 7 kaynağın statik dağılımını bulduğum koddur. Zamanla nasıl dinamik hale getirilir ?

import numpy as np
import simpy

def interarrival():
    return(np.random.exponential(20))

def servicetime():
    return(np.random.exponential(60))


def servicing(env, servers_1):
    i = 0
    while(True):
        i = i+1
        yield env.timeout(interarrival())
        print("Customer "+str(i)+ " arrived in the process at "+str(env.now))
        state = 0
        env.process(items(env, i, servers_array, state))

def items(env, customer_id, servers_array, state):
    with servers_array[state].request() as request:
        yield request
        t_arrival = env.now
        print("Customer "+str(customer_id)+ " arrived in "+str(state)+ "  at "+str(t_arrival))
        yield env.timeout(servicetime())
        t_depart = env.now
        print("Customer "+str(customer_id)+ " departed from "+str(state)+ "  at "+str(t_depart))
        if (state == 1):
            print("Customer exits")
        else:
            state = 1
            env.process(items(env, customer_id, servers_array, state))
            

env = simpy.Environment()
servers_array = []
servers_array.append(simpy.Resource(env, capacity = 5))
servers_array.append(simpy.Resource(env, capacity = 7))
env.process(servicing(env, servers_array))
env.run(until=2880)
allocation dynamic resources simpy
2021-11-23 13:21:27
1

En iyi cevabı

0

Kaynakları kullanırsanız, her düğümü 12 kapasiteyle başlatın ve her düğümdeki kaynakların bir kısmını geciktirmek için son sorunuzdaki gecikmeyi kullanın, böylece toplam etkin kaynaklar istediğiniz toplamdır. Aksi takdirde, bir kaynağı bir düğümden diğerine taşımanıza izin verecek kapsayıcılara ve depolara bakmaya başlamak isteyebilirsiniz.

2021-11-23 14:58:40

Teşekkürler Michael. Kapsayıcılar ve Depolar bu ayar için daha uygun olabilir. Bir bakayım.
Coding Practice

Diğer dillerde

Bu sayfa diğer dillerde

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................