Skip to content

Instantly share code, notes, and snippets.

View rootfs's full-sized avatar
🎯
Focusing

Huamin Chen rootfs

🎯
Focusing
View GitHub Profile

Arch

# more /proc/cpuinfo
processor       : 0
BogoMIPS        : 50.00
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs
CPU implementer : 0x41
CPU architecture: 8
CPU variant     : 0x3
CPU part        : 0xd0c

Power Estimate

System

Complete System Power Estimation using Processor Performance Events https://lca.ece.utexas.edu/pubs/bircher-TC2012.pdf

CPU

Power estimate wiki (before 2012) https://en.wikipedia.org/wiki/Run-time_estimation_of_system_and_sub-system_level_power_consumption

We have presented a systematic study on the use of performance counters to estimate power online. We found a subset of counters (# Fetched instructions, L1 hit and Dispatch Stalls) that are suitable for estimating power across multiple architecture types within an error of 5%. This was illustrated using an OOO high performance (HPerf) and an in-order low power (LP) core. At 5% average error, the proposed estimator improves upon prior estimators with error of 9% [3] and 11.5% [4].

Containerized

On MacBook

Single Containerized microshift cluster on MacBook

asciicast

Two clusters on a MacBook

asciicast

On Windows 10

systemctl stop microshift
crictl stop $(crictl ps -q) -t 1
mount |grep overlay |awk '{print $3}' |xargs umount
mount |grep kubelet |awk '{print $3}' |xargs umount
rm /var/lib/etcd -rf
rm /var/lib/kubelet -rf
mkdir -p /var/lib/kubelet
rm /var/lib/rook -rf
rm -rf /var/lib/microshift

Microshift

Storage provisioner

cat << EOF | kubectl apply -f -
apiVersion: v1
kind: PersistentVolume
metadata:
  name: hostpath-provisioner
#!/usr/bin/env bash
set -e
CONFIG=${CONFIG:-cluster_config.sh}
if [ ! -r "$CONFIG" ]; then
echo "Could not find cluster configuration file."
echo "Make sure $CONFIG file exists in the shiftstack-ci directory and that it is readable"
exit 1
fi

add python site

export PYTHONPATH=${PYTHONPATH}:/usr/lib64/python3.6

install cuda and nvdia driver

dnf config-manager --add-repo=http://negativo17.org/repos/fedora-nvidia.repo
# yum-config-manager --add-repo=http://negativo17.org/repos/epel-nvidia.repo
@rootfs
rootfs / kubernetes_add_service_account_kubeconfig.sh
Created October 2, 2019 23:26 — forked from innovia/kubernetes_add_service_account_kubeconfig.sh
Create a service account and generate a kubeconfig file for it - this will also set the default namespace for the user
#!/bin/bash
set -e
set -o pipefail
# Add user to k8s using service account, no RBAC (must create RBAC after this script)
if [[ -z "$1" ]] || [[ -z "$2" ]]; then
echo "usage: $0 <service_account_name> <namespace>"
exit 1
fi

First run

# kubectl -n default logs -c build-step-node-ftl steren-sample-function-v29fs-6s4bj
2018-06-22,14:40:57.207 INFO     Loading Docker credentials for repository 'launcher.gcr.io/google/nodejs:latest'
2018-06-22,14:40:57.207 INFO     Loading Docker credentials for repository 'gcr.io/openshift-gce-devel/kn/sample-fn:latest'
2018-06-22,14:41:27.238 INFO     builder initialization took 30 seconds
2018-06-22,14:41:27.239 INFO     full build took 30 seconds
Traceback (most recent call last):
  File "/app/ftl/node_builder_image.binary.runfiles/__main__/ftl/node/main.py", line 54, in <module>
    main(sys.argv[1:])
kind: StorageClass
apiVersion: storage.k8s.io/v1beta1
metadata:
name: slow
provisioner: kubernetes.io/azure-file
parameters:
skuName: Standard_LRS
location: eastus
secretnamespace: azure-file-ns
---