Skip to content

Commit f1b9663

Browse files
authored
[RPC] Replace timestamp with counter (apache#7389)
1 parent 9aec474 commit f1b9663

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

python/tvm/rpc/tracker.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@
4242
# pylint: disable=invalid-name
4343

4444
import heapq
45-
import time
4645
import logging
4746
import socket
47+
import threading
4848
import multiprocessing
4949
import errno
5050
import struct
@@ -112,10 +112,12 @@ def summary(self):
112112

113113

114114
class PriorityScheduler(Scheduler):
115-
"""Priority based scheduler, FIFO based on time"""
115+
"""Priority based scheduler, FIFO based on request order"""
116116

117117
def __init__(self, key):
118118
self._key = key
119+
self._request_cnt = 0
120+
self._lock = threading.Lock()
119121
self._values = []
120122
self._requests = []
121123

@@ -134,7 +136,9 @@ def put(self, value):
134136
self._schedule()
135137

136138
def request(self, user, priority, callback):
137-
heapq.heappush(self._requests, (-priority, time.time(), callback))
139+
with self._lock:
140+
heapq.heappush(self._requests, (-priority, self._request_cnt, callback))
141+
self._request_cnt += 1
138142
self._schedule()
139143

140144
def remove(self, value):

0 commit comments

Comments
 (0)