You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To enable certain plugins to access files on girder assetstores, we have the girder mount command. This is included, by default, as part of the internal deployment in the Digital Slide Archive. Specifically, any file on girder is exposed as if it is a local file. This lets libraries that do not have native network support to access files on remote assetstores (like S3), and also makes files appear as if they are named what they are called in the girder UI rather than what they might be called in the assetstore (often some sort of hash name).
Some files are much slower to access on a network than if they are local. For instance, ndpi files are opened with large_image, which uses the openslide library to do the actual work. The openslide library does a lot of "open - read a small block - close" cycles which result in numerous web requests if the file is on S3 or other remote assetstore. The girder mount diskcache option (see https://github.com/DigitalSlideArchive/digital_slide_archive/blob/master/devops/dsa/docker-compose.yml#L26-L28) can be used to aggregate these reads and buffer the results.
diskcache can speed up access of some files, but it also can make things slower. Specifically, if the network between the girder server and the assetstore has connection times that are comparatively slow and transfer times that are comparatively fast, diskcache will speed up initial access. Internally, we read in 128kB blocks and cache at that level using diskcache. At least on Ubuntu, it looks like the default OS reads in 4kb blocks (though maybe this is a file system detail).
Diskcache can also help repeated access; if the space used for diskcache is large enough, then reopening a file and reading cached sections will use the cache instead of any network access.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
To enable certain plugins to access files on girder assetstores, we have the
girder mount
command. This is included, by default, as part of the internal deployment in the Digital Slide Archive. Specifically, any file on girder is exposed as if it is a local file. This lets libraries that do not have native network support to access files on remote assetstores (like S3), and also makes files appear as if they are named what they are called in the girder UI rather than what they might be called in the assetstore (often some sort of hash name).Some files are much slower to access on a network than if they are local. For instance, ndpi files are opened with large_image, which uses the openslide library to do the actual work. The openslide library does a lot of "open - read a small block - close" cycles which result in numerous web requests if the file is on S3 or other remote assetstore. The girder mount diskcache option (see https://github.com/DigitalSlideArchive/digital_slide_archive/blob/master/devops/dsa/docker-compose.yml#L26-L28) can be used to aggregate these reads and buffer the results.
diskcache can speed up access of some files, but it also can make things slower. Specifically, if the network between the girder server and the assetstore has connection times that are comparatively slow and transfer times that are comparatively fast, diskcache will speed up initial access. Internally, we read in 128kB blocks and cache at that level using diskcache. At least on Ubuntu, it looks like the default OS reads in 4kb blocks (though maybe this is a file system detail).
Diskcache can also help repeated access; if the space used for diskcache is large enough, then reopening a file and reading cached sections will use the cache instead of any network access.
Beta Was this translation helpful? Give feedback.
All reactions