turicreate icon indicating copy to clipboard operation
turicreate copied to clipboard

better progress report

Open guihao-liang opened this issue 4 years ago • 4 comments

update 05/08/2020

implemented a thread-safe stopwatch to measure the elapsed time spent by concurrent IO.


report progress to users in order to let them wait for slow IO operations. Reduce the chance that users think the program is hanging without progress.

Tries to solve #3119. But due to the fact that we should provide prompt based on elapsed time. Anyway, we should have metrics inside of the SFrame by remembering how many bytes are downloaded and tell the user the progress.


update

upload

05/08/2020

Finished fetching block 0. Elapsed 0s for downloading s3://tc_qa/integration/manual/upload/medium_sframe_ac/dir_archive.ini
Uploading s3://tc_qa/integration/manual/upload/medium_sframe_ac/dir_archive.ini. Elapsed time 0 seconds
Finished uploading s3://tc_qa/integration/manual/upload/medium_sframe_ac/dir_archive.ini. Elapsed time 0 seconds
Uploading s3://tc_qa/integration/manual/upload/medium_sframe_ac/m_9cfcba377b62f99.0000. Elapsed time 0 seconds
Finished uploading s3://tc_qa/integration/manual/upload/medium_sframe_ac/m_9cfcba377b62f99.0000. Elapsed time 69 seconds
Uploading s3://tc_qa/integration/manual/upload/medium_sframe_ac/m_9cfcba377b62f99.sidx. Elapsed time 0 seconds
Finished uploading s3://tc_qa/integration/manual/upload/medium_sframe_ac/m_9cfcba377b62f99.sidx. Elapsed time 0 seconds
Uploading s3://tc_qa/integration/manual/upload/medium_sframe_ac/m_9cfcba377b62f99.frame_idx. Elapsed time 0 seconds
Finished uploading s3://tc_qa/integration/manual/upload/medium_sframe_ac/m_9cfcba377b62f99.frame_idx. Elapsed time 0 seconds
Uploading s3://tc_qa/integration/manual/upload/medium_sframe_ac/dir_archive.ini. Elapsed time 0 seconds
Finished uploading s3://tc_qa/integration/manual/upload/medium_sframe_ac/dir_archive.ini. Elapsed time 0 seconds

download

a prompt based on time interval.

Finished fetching block 0. Elapsed 0s for downloading s3://tc_qa/integration/manual/sframes/big_sframe_od/dir_archive.ini
Finished fetching block 0. Elapsed 0s for downloading s3://tc_qa/integration/manual/sframes/big_sframe_od/m_ea214100aab1ac60.sidx
Finished fetching block 0. Elapsed 0s for downloading s3://tc_qa/integration/manual/sframes/big_sframe_od/m_ea214100aab1ac60.frame_idx
Finished fetching block 1. Elapsed 10s for downloading s3://tc_qa/integration/manual/sframes/big_sframe_od/m_ea214100aab1ac60.0000
Finished fetching block 0. Elapsed 74s for downloading s3://tc_qa/integration/manual/sframes/big_sframe_od/m_ea214100aab1ac60.0000
+------------------------+--------------+----------+
|         image          |     name     |  label   |
+------------------------+--------------+----------+
| Height: 480 Width: 640 |   bike_248   |   bike   |
| Height: 480 Width: 640 |   bike_254   |   bike   |
| Height: 480 Width: 640 |   bike_267   |   bike   |
| Height: 480 Width: 640 |   bike_107   |   bike   |
| Height: 480 Width: 640 | carsgraz_225 | carsgraz |
| Height: 480 Width: 640 |   bike_187   |   bike   |
| Height: 480 Width: 640 |   bike_077   |   bike   |
| Height: 480 Width: 640 | carsgraz_053 | carsgraz |
| Height: 480 Width: 640 |   bike_362   |   bike   |
| Height: 480 Width: 640 | carsgraz_351 | carsgraz |
+------------------------+--------------+----------+

guihao-liang avatar Apr 13 '20 16:04 guihao-liang

@guihao-liang - As we discussed it would in person, it would be better if progress was reported at fixed time interval rather then every time a 64MB block is uploaded/downloaded. Here is an example of where we do something like that in the Python layer.

TobyRoseman avatar Apr 13 '20 23:04 TobyRoseman

@guihao-liang - As we discussed it would in person, it would be better if progress was reported at fixed time interval rather then every time a 64MB block is uploaded/downloaded. Here is an example of where we do something like that in the Python layer.

Thanks! I already had my own implementation yesterday. But it's pretty similar. I think a better solution is to have a separate thread reporting every 20s. But I have no time. This should be my last S3 PR. I need to work on other stuff.

guihao-liang avatar Apr 14 '20 16:04 guihao-liang

A possible solution. 80% finished. Feel free to pick it up.

guihao-liang avatar Apr 15 '20 03:04 guihao-liang

passed internally. Job id 112426.

guihao-liang avatar May 11 '20 03:05 guihao-liang