Use our own implementation of parallel_memcopy (#7254)

This commit is contained in:
Edward Oakes
2020-02-21 11:03:50 -08:00
committed by GitHub
parent cbc808bc6b
commit d190e73727
7 changed files with 69 additions and 27 deletions
+1 -19
View File
@@ -66,12 +66,6 @@ ERROR_KEY_PREFIX = b"Error:"
# entry/init points.
logger = logging.getLogger(__name__)
# Whether we should warn about slow put performance.
if os.environ.get("OMP_NUM_THREADS") == "1":
should_warn_of_slow_puts = True
else:
should_warn_of_slow_puts = False
class ActorCheckpointInfo:
"""Information used to maintain actor checkpoints."""
@@ -275,22 +269,10 @@ class Worker:
"do this, you can wrap the ray.ObjectID in a list and "
"call 'put' on it (or return it).")
global should_warn_of_slow_puts
if should_warn_of_slow_puts:
start = time.perf_counter()
serialized_value = self.get_serialization_context().serialize(value)
result = self.core_worker.put_serialized_object(
return self.core_worker.put_serialized_object(
serialized_value, object_id=object_id, pin_object=pin_object)
if should_warn_of_slow_puts:
delta = time.perf_counter() - start
if delta > 0.1:
logger.warning("OMP_NUM_THREADS=1 is set, this may slow down "
"ray.put() for large objects (issue #6998).")
should_warn_of_slow_puts = False
return result
def deserialize_objects(self, data_metadata_pairs, object_ids):
context = self.get_serialization_context()
return context.deserialize_objects(data_metadata_pairs, object_ids)