diff --git a/streaming/base/dataset.py b/streaming/base/dataset.py index e4b7d1cfd..02b374e28 100644 --- a/streaming/base/dataset.py +++ b/streaming/base/dataset.py @@ -3,6 +3,7 @@ """A mid-epoch-resumable streaming/caching pytorch IterableDataset.""" +import getpass import json import logging import os @@ -495,7 +496,7 @@ def __init__(self, ] self._shm_prefix_int, self._locals_shm = get_shm_prefix(streams_local, streams_remote, world) - self._filelock_root = os.path.join(os.path.sep, 'tmp', 'streaming') + self._filelock_root = os.path.join(os.path.sep, 'tmp', getpass.getuser(), 'streaming') os.makedirs(self._filelock_root, exist_ok=True) # Create the shared memory-backed barrier, without its lock, which is unpickleable. diff --git a/streaming/base/shared/prefix.py b/streaming/base/shared/prefix.py index 48d2aaa6c..3ae33144f 100644 --- a/streaming/base/shared/prefix.py +++ b/streaming/base/shared/prefix.py @@ -7,6 +7,7 @@ prevent shared resources like shared memory from colliding. """ +import getpass from collections import Counter from time import sleep from typing import Iterator, List, Tuple, Union @@ -41,7 +42,7 @@ def _get_path(prefix_int: int, name: str) -> str: Returns: str: Unique shared memory name. """ - return f'{prefix_int:06}_{name}' + return f'{getpass.getuser()}_{prefix_int:06}_{name}' def _pack_locals(dirnames: List[str], prefix_int: int) -> bytes: