---
# System prepended metadata

title: AiiDAlab Meeting Notes 2024-05-23 (Demo server coding day summary)
tags: [Meeting]

---

# AiiDAlab Meeting Notes 2024-05-23

###### tags: `Meeting`

:::info
- **Location:** https://psich.zoom.us/j/69116696576 *(Please request password on slack)*
- **Date:** 23rd May, 2024 14h (CET)
- **Agenda**

- [25 min] Go through 
    - [Urgents of Roadmap](https://github.com/orgs/aiidalab/projects/15/views/2) (click me)
    - [priority panel of Roadmap](https://github.com/orgs/aiidalab/projects/15) (click me)

- [5 min] Prepare session: go to ["hackmd notes"](https://hackmd.io/team/aiidalab?nav=overview) (click me) for general issues to discuss.
    
- [~30 min] Hackmd session: The catch up round for everyone and bring general topics about AiiDAlab. Buffer for discussion: Continue of hackmd session if not finished and focus on one or two general discussion. 
    - main purpose is to make sure all participants speak and give update.
    
- **Participants:**
    Before the meeting, the host should check and update the list below.
    
    - Jason [PSI] (jy)
    - Xing [PSI] (xw)
    - Giovanni [PSI] (gp)
    - Marnik [PSI] (mb)
    - Daniel [ISPG] (dh)
    - Miki [PSI] (mib)
    - Edan [PSI] (eb)
    
- **Host:** jy

:::


[TOC]



### Catch-up round

*Max. 3 minutes each*

Miki
* [PR](https://github.com/aiidalab/aiidalab-qe/pull/743#issuecomment-2126784448) for `max_wallclock_seconds` setting in the QE app: I have to fix the tests and refine the layout

Edan
* I have many comments regarding the design of the QE app
    * No time to address any of them at the moment 😭
    * Nevertheless, the app needs some TLC! Soon...
* QueryBuilder widget (and others) on hold until next month

Jason:
 * Demo server hackathon summary (below)
 * Gabriel and Nicola made the decision on the naming of protocols and UI. From QeApp side, we need try to use the same and try to sync on the UI with QE-inputs-generator.

Daniel:
 * Supported RabbitMQ versions? https://aiida.discourse.group/t/supported-rabbitmq-versions/392
 * Started a side project: building erlang (and later RabbitMQ server) for aarch64 on conda-forge. I need help with testing from people with Macs! https://github.com/conda-forge/erlang-feedstock/pull/159
     * This should significantly simplify our Docker builds.
 * Work on speeding up full-stack container startup. (relevant for aiidalab-launch users, not sure about the Demo server)
 * @jusongyu what's the status of the buildjet payment setup?
 * future support for nbclassic now supported in `appmode`, see discussion in https://github.com/oschuett/appmode/pull/76. Also seems like support for jupyterlab is comming https://github.com/oschuett/appmode/pull/77
 * @yakutovicha moving Eln out of AWB?
 * Re DEMO server: Seems to me like lot of the startup issues are because the home folder in the image is "overwritten" when attaching a volume in Kubernetes? Is there really no way to make it work the same way as with Docker (e.g. when using aiidalab-launch?) 



Xing:
 * Visited EPFL Tuesday
     * Had a discussion with Junfeng on QEApp Wannier plugin, the detailed plan can be found in the [docs](https://docs.google.com/document/d/1vwNoraLVoosRmVR3VV07yJ19x7YmqYVJpHOZ7igxUdw/edit?usp=sharing)
     * Nicola asked the progress about integration between QEApp and environ, maybe coordinate a meeting between related people. I discussed with Mouyi, and will try to make a plugin first.

* Start looking at the AiiDAlab-PSI-deploy and test the image with home tar.



#### Demo server hackathon summary

We had a two days demo server hackathon last week Here are summaries:

- Sasha started investigating the cost estimation and scaling:

    - scaling working as expected, approximately one additional new user instance require one more D3_v2 node.

    - The node price in Switzerland is more expensive than North-US.

    - We are currently using "pay as you go" service which cost the more than yearly subscription and "Spot VM" (cheapest, only avail when it is free, the services has tolerance on interruption, not suitable for us.)

    - Azure has "CycleCloud"[1] that provide cluster on cloud solution that worth to investigate in the future to as the place of running intensive calculation.

- Jason started investigating the light-weight local scheduler and Unix processes priority settings:

    - It is possible to using nice/renice [2] for adjusting the process priority to make specific process quickly performed (in our case, the jupyter-notebook process.) However, lower the pw.x process priority not help in the final response of page loading.

    - Limit the total amount of pw.x process can make notebook process respond faster.

    - Flux-framework not fit for the scenario since it requires to know the physical CPU stack to assign when start the scheduler, but in container the physical resources are randomly allocated.

    - Using hyperqueue. Test on hyperqueue on a 2.2 CPUs container and having 2 CPUs for calculation. Create 2 workers with 2 fake CPUs of each worker. In the end I can run 4 pw.x with 50% CPU usage.

- Xing started to work on preparing the jovyan user home folder as tar and untar it as the first step of container runtime preparation.

    - Had a benchmark on the startup time and image size on if compress tar file.

    - The start up time is compacted to ~ 15s with Xing's local machine docker test.

    - Test the image on the demo server lead to a timeout issue when deploy the image, not sure what is happening. (@Xing, can you revert the commit back to use the old image? So staging server is proper deployed and we can test on other things.)

- Edan started investigating the text and instruction for the AiiDAlab home and QeApp.

    - Plan to make a widget in the home page on top of QeApp logo.

    - Move the utils into QeApp as tabs and polishing the welcome text of QeApp.

- Carlo and Miki did detail test and summarize the improvement ideas [3]. See the doc for a long list of test report.


[1] https://learn.microsoft.com/en-us/azure/cyclecloud/overview

[2] https://medium.com/@chetaniam/a-brief-guide-to-priority-and-nice-values-in-the-linux-ecosystem-fb39e49815e0

[3] https://docs.google.com/document/d/1p_o6Pjrnat_cua6PlvUMd879C-9lRVhrrXRBR3UmSrg/edit?usp=sharing