rough-terabyte-71304
05/19/2021, 6:05 PM@resources(
local_storage="100",
cpu_limit="0.6",
memory="500",
memory_limit="1G",
volume="11G",
)square-wire-39606
05/19/2021, 6:11 PMdisk attribute to @resources make sense?square-wire-39606
05/19/2021, 6:12 PMcpu_limit , memory_limit seem more specific to the underlying compute infrastructurerough-terabyte-71304
05/19/2021, 7:08 PMdisk or volume?... https://www.maketecheasier.com/difference-between-disk-drive-volume-partition-image/
I believe a disk can have multiple volumes, hence why I selected volumesquare-wire-39606
05/19/2021, 7:15 PMdisk as a keyword signifying the amount of physical storage in the user space needed for a particular step is easier to grok for the end user. We can expose volume as an advanced functionality.rough-terabyte-71304
05/19/2021, 7:22 PMrough-terabyte-71304
05/19/2021, 7:24 PMephemeral-storage (local_storage in the @resources) or an attached volume (PVC).square-wire-39606
05/19/2021, 7:30 PMdisk which works for say 80% of the use cases, but we still expose setting volumes and volume_types as advanced functionality. That way different enterprises can configure their deployments appropriately by setting global environment variables in the user's workstation.rough-terabyte-71304
05/19/2021, 7:30 PMdisk mean?rough-terabyte-71304
05/19/2021, 7:31 PMsquare-wire-39606
05/19/2021, 7:31 PMdisk in @resources and volume in @k8s and if we are able to map disk appropriately to a specific volume configuration in k8s we can allow folks to set disk at the resource levelrough-terabyte-71304
05/19/2021, 7:36 PM@kubernetes(volume="11G") # attaches a volume to a default /opt/metaflow_volume
@step
def start(self):
pass
@resources(disk="110G") # works on AWS batch, and on k8s "disk" maps to ephemeral-storage!
@step
def start(self):
pass
@kubernetes(volume="11G") # attaches a volume to a default /opt/metaflow_volume
@resources(disk="110G") # ephemeral-storage of 110G
@step
def start(self):
pass
thoughts? 💭square-wire-39606
05/19/2021, 7:40 PMvolume for kubernetes a persistent volume?square-wire-39606
05/19/2021, 7:41 PMrough-terabyte-71304
05/19/2021, 7:44 PMrough-terabyte-71304
05/19/2021, 7:45 PM@kubernetes only concept?
Why not make it meta and a @resources concept as originally proposed? AWS Batch may not support it, that's fine.
@resources(volume="11G") # attaches a volume to a default /opt/metaflow_volume
@step
def start(self):
pass
@resources(disk="110G") # works on AWS batch, and on k8s "disk" maps to ephemeral-storage!
@step
def start(self):
pass
@resources(disk="110G", volume="11G")) # ephemeral-storage of 110G and attaches a volume to a default /opt/metaflow_volume
@step
def start(self):
passsquare-wire-39606
05/19/2021, 7:46 PMsquare-wire-39606
05/19/2021, 7:47 PM@resources(disk="110G", volume="11G")) # ephemeral-storage of 110G and attaches a volume to a default /opt/metaflow_volume
@step
def start(self):
pass
?rough-terabyte-71304
05/19/2021, 7:48 PMrough-terabyte-71304
05/19/2021, 7:49 PMsquare-wire-39606
05/19/2021, 7:50 PMs3 alongside the metaflow.s3 client. That also ensures that artifacts stored as visible and recoverable later using the Metaflow client.narrow-lion-2703
05/19/2021, 8:03 PMnarrow-lion-2703
05/19/2021, 8:03 PMnarrow-lion-2703
05/19/2021, 8:05 PM@kubernetes , but it seems like it wouldn't work for non-ephemeral as you still have to create a separate PVC resource and manage its lifecycle somehowrough-terabyte-71304
06/02/2021, 1:38 AM